aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy T. Bouse <jbouse@debian.org>2013-05-25 00:04:32 -0400
committerJeremy T. Bouse <jbouse@debian.org>2013-05-25 00:04:32 -0400
commit1a716ed46d1d556d4ba6798608ab498320acd886 (patch)
treedbcb23de26387e312f7ea09085330eca90e15853
parenta88b8c8c0f591a3bfa8d7984343a27815184f495 (diff)
downloadpython-paramiko-1a716ed46d1d556d4ba6798608ab498320acd886.tar
python-paramiko-1a716ed46d1d556d4ba6798608ab498320acd886.tar.gz
Imported Upstream version 1.10.1upstream/1.10.1
-rw-r--r--.bzrignore7
-rw-r--r--.gitignore7
-rw-r--r--.travis.yml14
-rw-r--r--ChangeLog.042
-rw-r--r--ChangeLog.12928
-rw-r--r--LICENSE4
-rw-r--r--Makefile15
-rw-r--r--NEWS473
-rw-r--r--NOTES13
-rw-r--r--PKG-INFO24
-rw-r--r--README40
-rw-r--r--TODO3
-rwxr-xr-xdemos/demo_keygen.py127
-rw-r--r--docs/api-objects.txt2202
-rw-r--r--docs/bug-index.html107
-rw-r--r--docs/class-tree.html364
-rw-r--r--docs/crarr.pngbin340 -> 0 bytes
-rw-r--r--docs/epydoc.css322
-rw-r--r--docs/epydoc.js293
-rw-r--r--docs/frames.html17
-rw-r--r--docs/help.html266
-rw-r--r--docs/identifier-index.html5475
-rw-r--r--docs/index.html17
-rw-r--r--docs/module-tree.html155
-rw-r--r--docs/paramiko-module.html513
-rw-r--r--docs/paramiko-pysrc.html465
-rw-r--r--docs/paramiko.Agent-class.html233
-rw-r--r--docs/paramiko.AgentKey-class.html399
-rw-r--r--docs/paramiko.AuthenticationException-class.html185
-rw-r--r--docs/paramiko.AutoAddPolicy-class.html224
-rw-r--r--docs/paramiko.BadAuthenticationType-class.html296
-rw-r--r--docs/paramiko.BadHostKeyException-class.html268
-rw-r--r--docs/paramiko.BufferedFile-class.html856
-rw-r--r--docs/paramiko.Channel-class.html1998
-rw-r--r--docs/paramiko.ChannelException-class.html250
-rw-r--r--docs/paramiko.DSSKey-class.html750
-rw-r--r--docs/paramiko.HostKeys-class.html643
-rw-r--r--docs/paramiko.Message-class.html1101
-rw-r--r--docs/paramiko.MissingHostKeyPolicy-class.html232
-rw-r--r--docs/paramiko.PKey-class.html857
-rw-r--r--docs/paramiko.PasswordRequiredException-class.html176
-rw-r--r--docs/paramiko.RSAKey-class.html750
-rw-r--r--docs/paramiko.RejectPolicy-class.html223
-rw-r--r--docs/paramiko.SFTP-class.html202
-rw-r--r--docs/paramiko.SFTPAttributes-class.html418
-rw-r--r--docs/paramiko.SFTPClient-class.html1536
-rw-r--r--docs/paramiko.SFTPError-class.html169
-rw-r--r--docs/paramiko.SFTPFile-class.html1011
-rw-r--r--docs/paramiko.SFTPHandle-class.html476
-rw-r--r--docs/paramiko.SFTPServer-class.html477
-rw-r--r--docs/paramiko.SFTPServerInterface-class.html979
-rw-r--r--docs/paramiko.SSHClient-class.html845
-rw-r--r--docs/paramiko.SSHConfig-class.html309
-rw-r--r--docs/paramiko.SSHException-class.html178
-rw-r--r--docs/paramiko.SecurityOptions-class.html397
-rw-r--r--docs/paramiko.ServerInterface-class.html1247
-rw-r--r--docs/paramiko.SubsystemHandler-class.html393
-rw-r--r--docs/paramiko.Transport-class.html2352
-rw-r--r--docs/paramiko.WarningPolicy-class.html223
-rw-r--r--docs/paramiko.agent-module.html148
-rw-r--r--docs/paramiko.agent-pysrc.html279
-rw-r--r--docs/paramiko.auth_handler-module.html531
-rw-r--r--docs/paramiko.auth_handler-pysrc.html1514
-rw-r--r--docs/paramiko.ber-module.html142
-rw-r--r--docs/paramiko.ber-pysrc.html238
-rw-r--r--docs/paramiko.ber.BER-class.html397
-rw-r--r--docs/paramiko.ber.BERException-class.html170
-rw-r--r--docs/paramiko.buffered_pipe-module.html152
-rw-r--r--docs/paramiko.buffered_pipe-pysrc.html323
-rw-r--r--docs/paramiko.buffered_pipe.BufferedPipe-class.html516
-rw-r--r--docs/paramiko.buffered_pipe.PipeTimeout-class.html187
-rw-r--r--docs/paramiko.channel-module.html554
-rw-r--r--docs/paramiko.channel-pysrc.html2076
-rw-r--r--docs/paramiko.channel.ChannelStderrFile-class.html257
-rw-r--r--docs/paramiko.client-module.html539
-rw-r--r--docs/paramiko.client-pysrc.html801
-rw-r--r--docs/paramiko.common-module.html531
-rw-r--r--docs/paramiko.common-pysrc.html1905
-rw-r--r--docs/paramiko.compress-module.html143
-rw-r--r--docs/paramiko.compress-pysrc.html148
-rw-r--r--docs/paramiko.compress.ZlibCompressor-class.html222
-rw-r--r--docs/paramiko.compress.ZlibDecompressor-class.html222
-rw-r--r--docs/paramiko.config-module.html121
-rw-r--r--docs/paramiko.config-pysrc.html219
-rw-r--r--docs/paramiko.dsskey-module.html531
-rw-r--r--docs/paramiko.dsskey-pysrc.html356
-rw-r--r--docs/paramiko.file-module.html120
-rw-r--r--docs/paramiko.file-pysrc.html579
-rw-r--r--docs/paramiko.hostkeys-module.html549
-rw-r--r--docs/paramiko.hostkeys-pysrc.html501
-rw-r--r--docs/paramiko.hostkeys.HostKeyEntry-class.html255
-rw-r--r--docs/paramiko.kex_gex-module.html550
-rw-r--r--docs/paramiko.kex_gex-pysrc.html463
-rw-r--r--docs/paramiko.kex_gex.KexGex-class.html279
-rw-r--r--docs/paramiko.kex_group1-module.html589
-rw-r--r--docs/paramiko.kex_group1-pysrc.html292
-rw-r--r--docs/paramiko.kex_group1.KexGroup1-class.html257
-rw-r--r--docs/paramiko.logging22-module.html210
-rw-r--r--docs/paramiko.logging22-pysrc.html302
-rw-r--r--docs/paramiko.logging22.Formatter-class.html209
-rw-r--r--docs/paramiko.logging22.StreamHandler-class.html224
-rw-r--r--docs/paramiko.logging22.logger-class.html274
-rw-r--r--docs/paramiko.message-module.html120
-rw-r--r--docs/paramiko.message-pysrc.html423
-rw-r--r--docs/paramiko.packet-module.html581
-rw-r--r--docs/paramiko.packet-pysrc.html920
-rw-r--r--docs/paramiko.packet.NeedRekeyException-class.html170
-rw-r--r--docs/paramiko.pipe-module.html231
-rw-r--r--docs/paramiko.pipe-pysrc.html327
-rw-r--r--docs/paramiko.pipe.OrPipe-class.html239
-rw-r--r--docs/paramiko.pipe.PosixPipe-class.html285
-rw-r--r--docs/paramiko.pipe.WindowsPipe-class.html288
-rw-r--r--docs/paramiko.pkey-module.html531
-rw-r--r--docs/paramiko.pkey-pysrc.html542
-rw-r--r--docs/paramiko.primes-module.html138
-rw-r--r--docs/paramiko.primes-pysrc.html355
-rw-r--r--docs/paramiko.primes.ModulusPack-class.html270
-rw-r--r--docs/paramiko.resource-module.html127
-rw-r--r--docs/paramiko.resource-pysrc.html192
-rw-r--r--docs/paramiko.rsakey-module.html531
-rw-r--r--docs/paramiko.rsakey-pysrc.html323
-rw-r--r--docs/paramiko.server-module.html533
-rw-r--r--docs/paramiko.server-pysrc.html1006
-rw-r--r--docs/paramiko.sftp-module.html905
-rw-r--r--docs/paramiko.sftp-pysrc.html798
-rw-r--r--docs/paramiko.sftp_attr-module.html905
-rw-r--r--docs/paramiko.sftp_attr-pysrc.html367
-rw-r--r--docs/paramiko.sftp_client-module.html907
-rw-r--r--docs/paramiko.sftp_client-pysrc.html1602
-rw-r--r--docs/paramiko.sftp_file-module.html907
-rw-r--r--docs/paramiko.sftp_file-pysrc.html873
-rw-r--r--docs/paramiko.sftp_handle-module.html907
-rw-r--r--docs/paramiko.sftp_handle-pysrc.html369
-rw-r--r--docs/paramiko.sftp_server-module.html907
-rw-r--r--docs/paramiko.sftp_server-pysrc.html1196
-rw-r--r--docs/paramiko.sftp_si-module.html909
-rw-r--r--docs/paramiko.sftp_si-pysrc.html527
-rw-r--r--docs/paramiko.ssh_exception-module.html137
-rw-r--r--docs/paramiko.ssh_exception-pysrc.html403
-rw-r--r--docs/paramiko.ssh_exception.PartialAuthentication-class.html246
-rw-r--r--docs/paramiko.transport-module.html548
-rw-r--r--docs/paramiko.transport-pysrc.html4153
-rw-r--r--docs/paramiko.transport.ChannelMap-class.html289
-rw-r--r--docs/paramiko.util-module.html965
-rw-r--r--docs/paramiko.util-pysrc.html434
-rw-r--r--docs/paramiko.util.Counter-class.html258
-rw-r--r--docs/paramiko.util.PFilter-class.html171
-rw-r--r--docs/paramiko.util.enumerate-class.html145
-rw-r--r--docs/paramiko.win_pageant-module.html204
-rw-r--r--docs/paramiko.win_pageant-pysrc.html287
-rw-r--r--docs/paramiko.win_pageant.PageantConnection-class.html260
-rw-r--r--docs/redirect.html38
-rw-r--r--docs/since-index.html302
-rw-r--r--docs/toc-everything.html148
-rw-r--r--docs/toc-paramiko-module.html61
-rw-r--r--docs/toc-paramiko.agent-module.html28
-rw-r--r--docs/toc-paramiko.auth_handler-module.html28
-rw-r--r--docs/toc-paramiko.ber-module.html29
-rw-r--r--docs/toc-paramiko.buffered_pipe-module.html29
-rw-r--r--docs/toc-paramiko.channel-module.html29
-rw-r--r--docs/toc-paramiko.client-module.html28
-rw-r--r--docs/toc-paramiko.common-module.html28
-rw-r--r--docs/toc-paramiko.compress-module.html29
-rw-r--r--docs/toc-paramiko.config-module.html28
-rw-r--r--docs/toc-paramiko.dsskey-module.html28
-rw-r--r--docs/toc-paramiko.file-module.html28
-rw-r--r--docs/toc-paramiko.hostkeys-module.html29
-rw-r--r--docs/toc-paramiko.kex_gex-module.html29
-rw-r--r--docs/toc-paramiko.kex_group1-module.html29
-rw-r--r--docs/toc-paramiko.logging22-module.html40
-rw-r--r--docs/toc-paramiko.message-module.html28
-rw-r--r--docs/toc-paramiko.packet-module.html30
-rw-r--r--docs/toc-paramiko.pipe-module.html30
-rw-r--r--docs/toc-paramiko.pkey-module.html28
-rw-r--r--docs/toc-paramiko.primes-module.html29
-rw-r--r--docs/toc-paramiko.resource-module.html28
-rw-r--r--docs/toc-paramiko.rsakey-module.html28
-rw-r--r--docs/toc-paramiko.server-module.html28
-rw-r--r--docs/toc-paramiko.sftp-module.html28
-rw-r--r--docs/toc-paramiko.sftp_attr-module.html28
-rw-r--r--docs/toc-paramiko.sftp_client-module.html28
-rw-r--r--docs/toc-paramiko.sftp_file-module.html28
-rw-r--r--docs/toc-paramiko.sftp_handle-module.html28
-rw-r--r--docs/toc-paramiko.sftp_server-module.html28
-rw-r--r--docs/toc-paramiko.sftp_si-module.html28
-rw-r--r--docs/toc-paramiko.ssh_exception-module.html29
-rw-r--r--docs/toc-paramiko.transport-module.html29
-rw-r--r--docs/toc-paramiko.util-module.html101
-rw-r--r--docs/toc-paramiko.win_pageant-module.html34
-rw-r--r--docs/toc.html34
-rw-r--r--fabfile.py13
-rw-r--r--images/paramiko-banner.pngbin0 -> 2885 bytes
-rw-r--r--images/paramiko-banner.psdbin0 -> 52177 bytes
-rw-r--r--images/paramiko.pngbin0 -> 2016 bytes
-rw-r--r--paramiko.egg-info/PKG-INFO24
-rw-r--r--paramiko.egg-info/SOURCES.txt252
-rw-r--r--paramiko.egg-info/dependency_links.txt1
-rw-r--r--paramiko.egg-info/requires.txt1
-rw-r--r--paramiko.egg-info/top_level.txt1
-rw-r--r--paramiko/__init__.py29
-rw-r--r--paramiko/agent.py333
-rw-r--r--paramiko/channel.py54
-rw-r--r--paramiko/client.py165
-rw-r--r--paramiko/common.py3
-rw-r--r--paramiko/config.py198
-rw-r--r--paramiko/file.py4
-rw-r--r--paramiko/hostkeys.py24
-rw-r--r--paramiko/message.py3
-rw-r--r--paramiko/packet.py52
-rw-r--r--paramiko/proxy.py91
-rw-r--r--paramiko/server.py18
-rw-r--r--paramiko/sftp_client.py138
-rw-r--r--paramiko/sftp_file.py25
-rw-r--r--paramiko/ssh_exception.py17
-rw-r--r--paramiko/transport.py238
-rw-r--r--paramiko/util.py9
-rw-r--r--paramiko/win_pageant.py28
-rw-r--r--requirements.txt2
-rw-r--r--setup.cfg5
-rw-r--r--setup.py20
-rwxr-xr-xtest.py11
-rw-r--r--tests/loop.py8
-rw-r--r--tests/test_buffered_pipe.py8
-rw-r--r--tests/test_client.py8
-rwxr-xr-xtests/test_sftp.py45
-rw-r--r--tests/test_transport.py7
-rw-r--r--tests/test_util.py221
-rw-r--r--tests/util.py10
-rw-r--r--tox.ini6
229 files changed, 5025 insertions, 80819 deletions
diff --git a/.bzrignore b/.bzrignore
new file mode 100644
index 0000000..6ce9d80
--- /dev/null
+++ b/.bzrignore
@@ -0,0 +1,7 @@
+*.pyc
+./build
+./paramiko.egg-info
+./dist
+./.project
+./paramiko.tmproj
+./test.log
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4b57895
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*.pyc
+build/
+dist/
+.tox/
+paramiko.egg-info/
+test.log
+docs/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..6896b89
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,14 @@
+language: python
+python:
+ - "2.5"
+ - "2.6"
+ - "2.7"
+install:
+ # Self-install for setup.py-driven deps
+ - pip install -e .
+script: python test.py
+notifications:
+ irc:
+ channels: "irc.freenode.org#paramiko"
+ on_success: change
+ on_failure: change
diff --git a/ChangeLog.0 b/ChangeLog.0
new file mode 100644
index 0000000..c151d25
--- /dev/null
+++ b/ChangeLog.0
@@ -0,0 +1,42 @@
+
+2003-08-24:
+ * implemented the other hashes: all 4 from the draft are working now
+ * added 'aes128-cbc' and '3des-cbc' cipher support
+ * fixed channel eof/close semantics
+2003-09-12: version "aerodactyl"
+ * implemented group-exchange kex ("kex-gex")
+ * implemented RSA/DSA private key auth
+2003-09-13:
+ * fixed inflate_long and deflate_long to handle negatives, even though
+ they're never used in the current ssh protocol
+2003-09-14:
+ * fixed session_id handling: re-keying works now
+ * added the ability for a Channel to have a fileno() for select/poll
+ purposes, although this will cause worse window performance if the
+ client app isn't careful
+2003-09-16: version "bulbasaur"
+ * fixed pipe (fileno) method to be nonblocking and it seems to work now
+ * fixed silly bug that caused large blocks to be truncated
+2003-10-08:
+ * patch to fix Channel.invoke_subsystem and add Channel.exec_command
+ [vaclav dvorak]
+ * patch to add Channel.sendall [vaclav dvorak]
+ * patch to add Channel.shutdown [vaclav dvorak]
+ * patch to add Channel.makefile and a ChannelFile class which emulates
+ a python file object [vaclav dvorak]
+2003-10-26:
+ * thread creation no longer happens during construction -- use the new
+ method "start_client(event)" to get things rolling
+ * re-keying now takes place after 1GB of data or 1 billion packets
+ (these limits can be easily changed per-session if needed)
+2003-11-06:
+ * added a demo server and host key
+2003-11-09:
+ * lots of changes to server mode
+ * ChannelFile supports universal newline mode; fixed readline
+ * fixed a bug with parsing the remote banner
+2003-11-10: version "charmander"
+ * renamed SSHException -> SecshException
+ * cleaned up server mode and the demo server
+
+*** for all subsequent changes, please see 'tla changelog'.
diff --git a/ChangeLog.1 b/ChangeLog.1
new file mode 100644
index 0000000..2fdae5a
--- /dev/null
+++ b/ChangeLog.1
@@ -0,0 +1,2928 @@
+# do not edit -- automatically generated by arch changelog
+# arch-tag: automatic-ChangeLog--robey@lag.net--2003-public/secsh--dev--1.0
+#
+
+2005-04-18 00:53:57 GMT Robey Pointer <robey@lag.net> patch-164
+
+ Summary:
+ fix some docs
+ Revision:
+ secsh--dev--1.0--patch-164
+
+ remove some epydoc comments about fileno() being non-portable.
+
+ modified files:
+ paramiko/channel.py
+
+
+2005-04-18 00:30:52 GMT Robey Pointer <robey@lag.net> patch-163
+
+ Summary:
+ add SFTPClient.close()
+ Revision:
+ secsh--dev--1.0--patch-163
+
+ add SFTPClient.close() and add a simple little unit test for it.
+
+
+ modified files:
+ paramiko/sftp_client.py tests/test_sftp.py
+
+
+2005-04-18 00:11:34 GMT Robey Pointer <robey@lag.net> patch-162
+
+ Summary:
+ avoid os.environ['HOME'] in the demos
+ Revision:
+ secsh--dev--1.0--patch-162
+
+ avoid using os.environ['HOME'], which will never work on windows, and
+ use os.path.expanduser() instead. it's semi-moot because windows doesn't
+ have a standard location for ssh files, but i think paramiko should set a
+ good example anyway.
+
+ modified files:
+ demo.py demo_simple.py
+
+
+2005-04-16 23:38:22 GMT Robey Pointer <robey@lag.net> patch-161
+
+ Summary:
+ integrated laptop work (test commit)
+ Revision:
+ secsh--dev--1.0--patch-161
+
+ Patches applied:
+
+ * robey@lag.net--2003-public-master-shake/secsh--dev--1.0--base-0
+ tag of robey@lag.net--2003-public/secsh--dev--1.0--patch-160
+
+ * robey@lag.net--2003-public-master-shake/secsh--dev--1.0--patch-1
+ test commit
+
+ * robey@lag.net--2003-public/secsh--dev--1.0--base-0
+ initial import
+
+ * robey@lag.net--2003-public/secsh--dev--1.0--patch-1
+ no changes
+
+
+ modified files:
+ README paramiko/server.py
+
+ new patches:
+ robey@lag.net--2003-public-master-shake/secsh--dev--1.0--base-0
+ robey@lag.net--2003-public-master-shake/secsh--dev--1.0--patch-1
+
+
+2005-04-10 00:46:41 GMT Robey Pointer <robey@lag.net> patch-160
+
+ Summary:
+ 1.3 marowak
+ Revision:
+ secsh--dev--1.0--patch-160
+
+ bump version to 1.3 / marowak
+
+ modified files:
+ Makefile README paramiko/__init__.py paramiko/transport.py
+ setup.py
+
+
+2005-04-10 00:39:18 GMT Robey Pointer <robey@lag.net> patch-159
+
+ Summary:
+ clean up SFTPAttributes.__repr__
+ Revision:
+ secsh--dev--1.0--patch-159
+
+ clean up SFTPAttributes repr() a bit.
+
+ modified files:
+ paramiko/sftp_attr.py
+
+
+2005-04-10 00:13:54 GMT Robey Pointer <robey@lag.net> patch-158
+
+ Summary:
+ remove ChangeLog from MANIFEST.in
+ Revision:
+ secsh--dev--1.0--patch-158
+
+ remove ChangeLog from the dist list.
+
+ modified files:
+ MANIFEST.in
+
+
+2005-04-06 07:24:28 GMT Robey Pointer <robey@lag.net> patch-157
+
+ Summary:
+ change SubsystemHandler/SFTPServerInterface API
+ Revision:
+ secsh--dev--1.0--patch-157
+
+ 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).
+
+ modified files:
+ paramiko/server.py paramiko/sftp_server.py paramiko/sftp_si.py
+ paramiko/transport.py tests/stub_sftp.py
+
+
+2005-03-26 05:53:00 GMT Robey Pointer <robey@lag.net> patch-156
+
+ Summary:
+ rewrite channel pipes to work on windows
+ Revision:
+ secsh--dev--1.0--patch-156
+
+ the pipe system i was using for simulating an os-level FD (for select) was
+ retarded. i realized this week that i could just use a single byte in the
+ pipe to signal "data is ready" and not try to feed all incoming data thru
+ the pipe -- and then i don't have to try to make the pipe non-blocking (which
+ should make it work on windows). a lot of duplicate code got removed and now
+ it's all going thru the same code-path on read.
+
+ there's still a slight penalty on incoming feeds and calling 'recv' when a
+ pipe has been opened (by calling 'fileno'), but it's tiny.
+
+ removed a bunch of documentation and comments about things not working on
+ windows, since i think they probably do now.
+
+
+ removed files:
+ .arch-ids/demo_windows.py.id demo_windows.py
+
+ modified files:
+ MANIFEST.in README paramiko/channel.py
+
+
+2005-03-25 20:06:56 GMT Robey Pointer <robey@lag.net> patch-155
+
+ Summary:
+ fix sending of large sftp packet sizes
+ Revision:
+ secsh--dev--1.0--patch-155
+
+ fix a bug where packets larger than about 12KB would cause the session to
+ die on platforms other than osx. turns out that on most platforms, setting a
+ socket timeout also causes timeouts to occur on writes (but not on osx). so
+ on a huge write, once the os buffers were full, paramiko would get a
+ socket.timeout exception when writing, and bail.
+
+ since the timeout is primarily so we can periodically poll to see if the
+ session has been killed from elsewhere, do that on a timeout but otherwise
+ continue trying to write. large packet sizes (in sftp) should now work.
+
+ modified files:
+ paramiko/transport.py
+
+
+2005-02-28 08:06:08 GMT Robey Pointer <robey@lag.net> patch-154
+
+ Summary:
+ even better 1.2 lapras
+ Revision:
+ secsh--dev--1.0--patch-154
+
+ 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.
+
+
+ modified files:
+ Makefile README demo.py demo_server.py demo_simple.py
+ demo_windows.py forward.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/ber.py paramiko/channel.py
+ paramiko/common.py paramiko/dsskey.py paramiko/file.py
+ paramiko/kex_gex.py paramiko/kex_group1.py
+ paramiko/logging22.py paramiko/message.py paramiko/pkey.py
+ paramiko/primes.py paramiko/rsakey.py paramiko/server.py
+ paramiko/sftp.py paramiko/sftp_attr.py paramiko/sftp_client.py
+ paramiko/sftp_handle.py paramiko/sftp_server.py
+ paramiko/sftp_si.py paramiko/ssh_exception.py
+ paramiko/transport.py paramiko/util.py setup.py test.py
+ tests/loop.py tests/stub_sftp.py tests/test_file.py
+ tests/test_kex.py tests/test_message.py tests/test_pkey.py
+ tests/test_sftp.py tests/test_transport.py
+
+
+2005-02-28 07:49:56 GMT Robey Pointer <robey@lag.net> patch-153
+
+ Summary:
+ tweak sftp_file write behavior on large blocks of data
+ Revision:
+ secsh--dev--1.0--patch-153
+
+ 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.
+
+
+ modified files:
+ paramiko/file.py paramiko/sftp_file.py tests/test_sftp.py
+
+
+2005-02-28 07:17:21 GMT Robey Pointer <robey@lag.net> patch-152
+
+ Summary:
+ little doc fixes
+ Revision:
+ secsh--dev--1.0--patch-152
+
+ stupid little doc fixups that didn't fit with the other patches.
+
+ modified files:
+ paramiko/auth_transport.py tests/loop.py
+
+
+2005-02-28 07:16:22 GMT Robey Pointer <robey@lag.net> patch-151
+
+ Summary:
+ fix race in transport thread startup
+ Revision:
+ secsh--dev--1.0--patch-151
+
+ set active=True from the methods that start the main transport thread, right
+ before actually starting the thread. this avoids a race where the main
+ thread could be started, but the original thread could wake up from the
+ event.wait(0.1) before the new thread actually set the transport active.
+ impossible, you say? no machines so slow exist? au contraire, my sad
+ little linux box faced this problem earlier today.
+
+
+ modified files:
+ paramiko/transport.py
+
+
+2005-02-28 07:14:11 GMT Robey Pointer <robey@lag.net> patch-150
+
+ Summary:
+ when combining stderr with stdout on a channel, merge the buffers too
+ Revision:
+ secsh--dev--1.0--patch-150
+
+ when turning on combine-stderr mode on a channel, grab the channel lock and
+ feed any existing stderr buffer into the normal buffer. this should help
+ applications (and my unit tests) avoid races between data coming in over
+ stderr and setting combine-stderr.
+
+ _send_eof is now slightly safer too, although i don't think that really fixed
+ anything. it just makes me feel better.
+
+ modified files:
+ paramiko/channel.py
+
+
+2005-02-28 07:09:02 GMT Robey Pointer <robey@lag.net> patch-149
+
+ Summary:
+ add thread ids to logs
+ Revision:
+ secsh--dev--1.0--patch-149
+
+ add a logging filter that reports the thread-id of the logger, and use
+ that for all paramiko logging. since thread-local stuff didn't appear
+ until python 2.4, i hacked up my own little version to assign incrementing
+ numbers to threads as they log.
+
+
+ modified files:
+ paramiko/channel.py paramiko/sftp.py paramiko/sftp_client.py
+ paramiko/sftp_server.py paramiko/transport.py paramiko/util.py
+
+
+2005-02-26 21:12:43 GMT Robey Pointer <robey@lag.net> patch-148
+
+ Summary:
+ forgot to check in stub_sftp
+ Revision:
+ secsh--dev--1.0--patch-148
+
+ yikes! don't forget to check this in: needed for unit tests.
+
+ new files:
+ tests/.arch-ids/stub_sftp.py.id tests/stub_sftp.py
+
+
+2005-02-26 21:11:04 GMT Robey Pointer <robey@lag.net> patch-147
+
+ Summary:
+ 1.2 (lapras)
+ Revision:
+ secsh--dev--1.0--patch-147
+
+ bump version stuff to 1.2 / lapras.
+
+ modified files:
+ Makefile README paramiko/__init__.py paramiko/transport.py
+ setup.py
+
+
+2005-02-15 15:48:47 GMT Robey Pointer <robey@lag.net> patch-146
+
+ Summary:
+ raise better exception on empty key
+ Revision:
+ secsh--dev--1.0--patch-146
+
+ raise a clearer exception when trying to create an empty key.
+
+
+ modified files:
+ README paramiko/dsskey.py paramiko/rsakey.py
+ tests/test_transport.py
+
+
+2005-02-15 15:47:02 GMT Robey Pointer <robey@lag.net> patch-145
+
+ Summary:
+ add methods for sending/receiving a channel's exit status
+ Revision:
+ secsh--dev--1.0--patch-145
+
+ track a channel's exit status and provide a method (recv_exit_status) to
+ block waiting for it to arrive. also provide a convenience method for
+ servers to send it (send_exit_status). add shutdown_read and shutdown_write.
+ fix a bug in sending window change requests.
+
+
+ modified files:
+ README paramiko/channel.py paramiko/transport.py
+
+
+2005-02-06 23:32:22 GMT Robey Pointer <robey@lag.net> patch-144
+
+ Summary:
+ fix docs
+ Revision:
+ secsh--dev--1.0--patch-144
+
+ clean up some of the docs.
+
+
+ modified files:
+ README paramiko/pkey.py paramiko/sftp_attr.py
+
+
+2005-02-06 23:30:40 GMT Robey Pointer <robey@lag.net> patch-143
+
+ Summary:
+ fix an sftp unit test
+ Revision:
+ secsh--dev--1.0--patch-143
+
+ fix one of the sftp unit tests to actually work.
+
+
+ modified files:
+ tests/test_sftp.py
+
+
+2005-02-05 07:45:20 GMT Robey Pointer <robey@lag.net> patch-142
+
+ Summary:
+ fix windows sample script's HOME
+ Revision:
+ secsh--dev--1.0--patch-142
+
+ fix the HOME environ var to work on windows too.
+
+ modified files:
+ demo_windows.py
+
+
+2005-01-25 05:17:55 GMT Robey Pointer <robey@lag.net> patch-141
+
+ Summary:
+ misc logging fixes
+ Revision:
+ secsh--dev--1.0--patch-141
+
+ change the level of some log messages so interesting stuff gets logged at
+ info instead of debug. fix an oops where channels defaulted to being in
+ ultra debug mode, and make this mode depend on a new Transport method:
+ "set_hexdump".
+
+
+ modified files:
+ paramiko/auth_transport.py paramiko/channel.py
+ paramiko/sftp.py paramiko/sftp_client.py
+ paramiko/sftp_server.py paramiko/transport.py
+
+
+2005-01-17 10:09:09 GMT Robey Pointer <robey@lag.net> patch-140
+
+ Summary:
+ more flexible logging
+ Revision:
+ secsh--dev--1.0--patch-140
+
+ some tweaks to make channels etc follow the logger setting of their parent
+ transport, so that setting the log channel for a paramiko transport will
+ cause all sub-logging to branch out from that channel.
+
+ also, close all open file handles when the sftp server ends.
+
+
+ modified files:
+ paramiko/channel.py paramiko/sftp_attr.py
+ paramiko/sftp_client.py paramiko/sftp_handle.py
+ paramiko/sftp_server.py paramiko/transport.py
+
+
+2005-01-16 21:03:15 GMT Robey Pointer <robey@lag.net> patch-139
+
+ Summary:
+ make loopback sftp tests the default
+ Revision:
+ secsh--dev--1.0--patch-139
+
+ change the unit tests to default to always running the sftp tests locally,
+ and make a -R option to force the tests to run against a remote server.
+ the tests seem to work fine locally, and it helps test out server mode,
+ even though there's a danger that they could get isolated from reality
+ and only test that paramiko can talk to itself.
+
+
+ modified files:
+ test.py
+
+
+2005-01-16 20:14:07 GMT Robey Pointer <robey@lag.net> patch-138
+
+ Summary:
+ doc fixups
+ Revision:
+ secsh--dev--1.0--patch-138
+
+ little doc fixups that i did obsessively on the train one morning.
+
+ modified files:
+ paramiko/file.py
+
+
+2005-01-09 05:27:07 GMT Robey Pointer <robey@lag.net> patch-137
+
+ Summary:
+ added listdir_attr()
+ Revision:
+ secsh--dev--1.0--patch-137
+
+ add SFTPClient.listdir_attr() to fetch a list of files & their attributes,
+ instead of just their filenames. artur piwko would find this useful.
+
+
+ modified files:
+ paramiko/sftp_attr.py paramiko/sftp_client.py
+
+
+2004-12-19 19:56:48 GMT Robey Pointer <robey@lag.net> patch-136
+
+ Summary:
+ loopback sftp test
+ Revision:
+ secsh--dev--1.0--patch-136
+
+ add ability to turn off more tests, and a secret (for now) -X option to do
+ the sftp tests via loopback socket. added another symlink sftp test to see
+ what happens with absolute symlinks.
+
+
+ modified files:
+ test.py tests/test_sftp.py
+
+
+2004-12-19 19:50:00 GMT Robey Pointer <robey@lag.net> patch-135
+
+ Summary:
+ more sftp cleanup
+ Revision:
+ secsh--dev--1.0--patch-135
+
+ oops, this should've been part of the last patch.
+
+
+ modified files:
+ paramiko/sftp_si.py
+
+
+2004-12-19 19:43:27 GMT Robey Pointer <robey@lag.net> patch-134
+
+ Summary:
+ cleanup & docs in sftp
+ Revision:
+ secsh--dev--1.0--patch-134
+
+ add some more docs to SFTPHandle, and give a default implementation for
+ close() that's usually right. add a flush() to the default implementation
+ of write(). document that symlink's args in the sftp protocol are out of
+ order (the spec is wrong).
+
+
+ modified files:
+ paramiko/sftp_handle.py paramiko/sftp_server.py
+
+
+2004-12-13 07:32:14 GMT Robey Pointer <robey@lag.net> patch-133
+
+ Summary:
+ unit test madness
+ Revision:
+ secsh--dev--1.0--patch-133
+
+ add some more testy bits and fix up some other bits.
+
+
+ modified files:
+ tests/test_transport.py
+
+
+2004-12-13 07:31:01 GMT Robey Pointer <robey@lag.net> patch-132
+
+ Summary:
+ oops (continued)
+ Revision:
+ secsh--dev--1.0--patch-132
+
+ er, part 2 of that.
+
+
+ modified files:
+ paramiko/server.py
+
+
+2004-12-13 07:29:38 GMT Robey Pointer <robey@lag.net> patch-131
+
+ Summary:
+ move check_global_request
+ Revision:
+ secsh--dev--1.0--patch-131
+
+ move check_global_request into the server interface -- i missed it during
+ the initial move (oops).
+
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-12-13 07:27:39 GMT Robey Pointer <robey@lag.net> patch-130
+
+ Summary:
+ small fixups
+ Revision:
+ secsh--dev--1.0--patch-130
+
+ move _wait_for_send_window into the right place in Channel. remove outdated
+ note from auth_transport. fix download url in setup.py.
+
+
+
+ modified files:
+ paramiko/auth_transport.py paramiko/channel.py setup.py
+
+
+2004-12-12 09:58:40 GMT Robey Pointer <robey@lag.net> patch-129
+
+ Summary:
+ 1.1 (kabuto)
+ Revision:
+ secsh--dev--1.0--patch-129
+
+ edit various files to bump the version to 1.1.
+ also fix to point to the new url.
+
+
+ modified files:
+ Makefile README paramiko/__init__.py paramiko/transport.py
+ setup.py
+
+
+2004-12-12 09:38:24 GMT Robey Pointer <robey@lag.net> patch-128
+
+ Summary:
+ more unit tests
+ Revision:
+ secsh--dev--1.0--patch-128
+
+ added unit tests for multi-part auth, exec_command, and invoke_shell.
+
+
+ modified files:
+ tests/test_transport.py
+
+
+2004-12-12 09:32:17 GMT Robey Pointer <robey@lag.net> patch-127
+
+ Summary:
+ doc fixups
+ Revision:
+ secsh--dev--1.0--patch-127
+
+ fix some typos in sftp_client docs
+
+
+ modified files:
+ paramiko/sftp_client.py
+
+
+2004-12-12 09:25:15 GMT Robey Pointer <robey@lag.net> patch-126
+
+ Summary:
+ server support for stderr & exec_command
+ Revision:
+ secsh--dev--1.0--patch-126
+
+ for the server side of my stderr blunder, add send_stderr & sendall_stderr,
+ and make the sending side of makefile_stderr work correctly.
+
+ also, call check_channel_exec_request on a server object for exec requests
+ on a channel.
+
+
+ modified files:
+ paramiko/channel.py paramiko/server.py
+
+
+2004-12-12 09:16:03 GMT Robey Pointer <robey@lag.net> patch-125
+
+ Summary:
+ add client-side multi-part auth support
+ Revision:
+ secsh--dev--1.0--patch-125
+
+ added support for multi-part authentication (even though nobody supports it
+ that i've seen). on a successful "partial" auth, the auth_* method will
+ return a list of acceptable means to continue authenticating.
+
+
+ modified files:
+ paramiko/auth_transport.py paramiko/ssh_exception.py
+
+
+2004-12-11 03:44:33 GMT Robey Pointer <robey@lag.net> patch-124
+
+ Summary:
+ docs fixup
+ Revision:
+ secsh--dev--1.0--patch-124
+
+ fix a comment typo, and add @since designators to a couple of new methods.
+
+
+ modified files:
+ paramiko/channel.py paramiko/sftp_server.py
+
+
+2004-12-11 03:43:18 GMT Robey Pointer <robey@lag.net> patch-123
+
+ Summary:
+ clean up authentication
+ Revision:
+ secsh--dev--1.0--patch-123
+
+ add new exception "BadAuthenticationType", which is raised when auth fails
+ because your auth type (password or public-key) isn't valid on the server.
+
+ used this as an excuse to clean up auth_password and auth_publickey so their
+ 'event' arg is optional, and if missing, they block until auth is finished,
+ raising an exception on error.
+
+ also, don't close the session on failed auth -- the server may let you try
+ again.
+
+ added some test cases for failed auth.
+
+
+ modified files:
+ paramiko/__init__.py paramiko/auth_transport.py
+ paramiko/ssh_exception.py paramiko/transport.py
+ tests/test_transport.py
+
+
+2004-12-10 08:30:44 GMT Robey Pointer <robey@lag.net> patch-122
+
+ Summary:
+ symlink, readlink
+ Revision:
+ secsh--dev--1.0--patch-122
+
+ add support for symlink command, and finish support for readlink. (i guess
+ i started readlink a while ago but forgot to add the right method to the
+ SFTPServerInterface class.)
+
+
+ modified files:
+ paramiko/sftp_server.py paramiko/sftp_si.py tests/test_sftp.py
+
+
+2004-12-10 08:27:43 GMT Robey Pointer <robey@lag.net> patch-121
+
+ Summary:
+ other part of that last patch
+ Revision:
+ secsh--dev--1.0--patch-121
+
+ oops, forgot this part.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-12-10 08:25:28 GMT Robey Pointer <robey@lag.net> patch-120
+
+ Summary:
+ add stderr support methods
+ Revision:
+ secsh--dev--1.0--patch-120
+
+ big embarrassment: i didn't read the ssh2 docs close enough, and all this
+ time paramiko wasn't handling "extended_data" packets, which contain stderr
+ output.
+
+ so now, several new functions: recv_stderr_ready() and recv_stderr() to
+ mirror recv_ready() and recv(), and set_combined_stderr() to force stderr
+ to be combined into stdout. also, makefile_stderr() to create a fake file
+ object to represent stderr.
+
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-12-10 07:55:33 GMT Robey Pointer <robey@lag.net> patch-119
+
+ Summary:
+ reformat README
+ Revision:
+ secsh--dev--1.0--patch-119
+
+ reformatted the README to a slightly smaller margin, just because.
+
+
+ modified files:
+ README
+
+
+2004-12-09 04:15:12 GMT Robey Pointer <robey@lag.net> patch-118
+
+ Summary:
+ fix SFTPFile gettimeout/settimeout
+ Revision:
+ secsh--dev--1.0--patch-118
+
+ i don't think the gettimeout/settimeout calls on SFTPFile ever worked.
+ also, simplify the implementation of _get_size() since it's nearly
+ identical to stat().
+
+
+ modified files:
+ paramiko/sftp_file.py
+
+
+2004-12-09 02:42:36 GMT Robey Pointer <robey@lag.net> patch-117
+
+ Summary:
+ readme comments
+ Revision:
+ secsh--dev--1.0--patch-117
+
+ add another fixme to the readme
+
+ modified files:
+ README
+
+
+2004-11-26 22:07:31 GMT Robey Pointer <robey@lag.net> patch-116
+
+ Summary:
+ doc fixups
+ Revision:
+ secsh--dev--1.0--patch-116
+
+ explain "recv_ready" better, and add debug descriptions for the kex codes.
+
+
+ modified files:
+ README paramiko/channel.py paramiko/common.py
+
+
+2004-11-25 19:39:34 GMT Robey Pointer <robey@lag.net> patch-115
+
+ Summary:
+ fix CONNECTION_FAILED_CODE
+ Revision:
+ secsh--dev--1.0--patch-115
+
+ oops, fix typo in channel request failed.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-11-22 07:40:39 GMT Robey Pointer <robey@lag.net> patch-114
+
+ Summary:
+ fix typo in channel
+ Revision:
+ secsh--dev--1.0--patch-114
+
+ fix typo that alain found: pipd_wfd -> pipe_wfd.
+
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-11-22 07:27:21 GMT Robey Pointer <robey@lag.net> patch-113
+
+ Summary:
+ sftp server support!
+ Revision:
+ secsh--dev--1.0--patch-113
+
+ finally check in sftp_handle (file handle abstraction), sftp_si (server
+ interface), and sftp_server (server implementation) -- all of which make
+ a roughly 90% implementation of server-side sftp.
+
+
+
+ new files:
+ paramiko/.arch-ids/sftp_handle.py.id
+ paramiko/.arch-ids/sftp_server.py.id
+ paramiko/.arch-ids/sftp_si.py.id paramiko/sftp_handle.py
+ paramiko/sftp_server.py paramiko/sftp_si.py
+
+ modified files:
+ README demo_windows.py paramiko/__init__.py
+
+
+2004-11-22 07:07:08 GMT Robey Pointer <robey@lag.net> patch-112
+
+ Summary:
+ add finish_subsystem()
+ Revision:
+ secsh--dev--1.0--patch-112
+
+ when a SubsystemHandler is being decomissioned (the client has closed the
+ channel or transport, or the socket went away), make a callback to let the
+ handler do any shutdown it needs to.
+
+
+ modified files:
+ paramiko/server.py
+
+
+2004-11-22 07:04:31 GMT Robey Pointer <robey@lag.net> patch-111
+
+ Summary:
+ fix extremely unlikely channel counter wrapping
+ Revision:
+ secsh--dev--1.0--patch-111
+
+ Transport's channel counter can overflow after 4 billion some channels are
+ created. make it wrap back around after 16 million instead. also allow the
+ logging channel to be set manually. fix some comments elsewhere.
+
+
+ modified files:
+ paramiko/channel.py paramiko/primes.py paramiko/transport.py
+
+
+2004-11-22 07:01:43 GMT Robey Pointer <robey@lag.net> patch-110
+
+ Summary:
+ fix Transport.get_username() to work in server mode too
+ Revision:
+ secsh--dev--1.0--patch-110
+
+ whenever i split the 'username' field into username and auth_username,
+ i guess that made get_username() stop working for server mode (because the
+ username was stored in a different field). this should fix it.
+
+ modified files:
+ paramiko/auth_transport.py
+
+
+2004-11-07 03:10:53 GMT Robey Pointer <robey@lag.net> patch-109
+
+ Summary:
+ v1.0 (jigglypuff)
+ Revision:
+ secsh--dev--1.0--patch-109
+
+ bump all the version numbers up to 1.0 (jigglypuff).
+
+ modified files:
+ Makefile README paramiko/__init__.py paramiko/transport.py
+ setup.py
+
+
+2004-11-07 02:51:42 GMT Robey Pointer <robey@lag.net> patch-108
+
+ Summary:
+ add filename to SFTPAttributes
+ Revision:
+ secsh--dev--1.0--patch-108
+
+ add filename to the attributes stored in an SFTPAttributes object.
+
+ modified files:
+ paramiko/sftp_attr.py
+
+
+2004-11-07 02:31:48 GMT Robey Pointer <robey@lag.net> patch-107
+
+ Summary:
+ fix kex_gex
+ Revision:
+ secsh--dev--1.0--patch-107
+
+ fix kex_gex (group-exchange key exchange) to, *cough*, work again, and also
+ layout kex_group1 a little more sanely.
+
+ modified files:
+ paramiko/kex_gex.py paramiko/kex_group1.py
+
+
+2004-11-07 02:29:54 GMT Robey Pointer <robey@lag.net> patch-106
+
+ Summary:
+ fix chmod +x on demo_windows.py
+ Revision:
+ secsh--dev--1.0--patch-106
+
+ forgot to make demo_windows +x
+
+
+2004-11-07 02:29:20 GMT Robey Pointer <robey@lag.net> patch-105
+
+ Summary:
+ move ChangeLog
+ Revision:
+ secsh--dev--1.0--patch-105
+
+ move ChangeLog out of the way because tla can autogenerate any useful
+ ChangeLog.
+
+
+ renamed files:
+ .arch-ids/ChangeLog.id
+ ==> .arch-ids/ChangeLog-old.id
+ ChangeLog
+ ==> ChangeLog-old
+
+
+2004-11-07 02:28:33 GMT Robey Pointer <robey@lag.net> patch-104
+
+ Summary:
+ fix location of SFTPError
+ Revision:
+ secsh--dev--1.0--patch-104
+
+ fix location of SFTPError.
+
+ modified files:
+ paramiko/__init__.py paramiko/sftp_client.py
+
+
+2004-11-07 02:17:18 GMT Robey Pointer <robey@lag.net> patch-103
+
+ Summary:
+ rename sftp constants
+ Revision:
+ secsh--dev--1.0--patch-103
+
+ replace oddly named sftp constants (FX_OK for example) with names that make
+ a bit more sense when sober (SFTP_OK).
+
+ modified files:
+ paramiko/__init__.py paramiko/sftp.py paramiko/sftp_client.py
+
+
+2004-11-07 02:08:11 GMT Robey Pointer <robey@lag.net> patch-102
+
+ Summary:
+ add key exchange tests + 1 more sftp test
+ Revision:
+ secsh--dev--1.0--patch-102
+
+ add test suite for key-exchange protocols, since i apparently broke the
+ "gex" protocol recently and never noticed. also add an sftp unit test for
+ mkdir/rmdir.
+
+ new files:
+ tests/.arch-ids/test_kex.py.id tests/test_kex.py
+
+ modified files:
+ test.py tests/test_sftp.py
+
+
+2004-11-07 02:00:50 GMT Robey Pointer <robey@lag.net> patch-101
+
+ Summary:
+ remove old demo keys
+ Revision:
+ secsh--dev--1.0--patch-101
+
+ the keys are in tests/ now.
+
+ removed files:
+ .arch-ids/demo_dss_key.id .arch-ids/demo_rsa_key.id
+ demo_dss_key demo_rsa_key
+
+
+2004-11-06 20:32:08 GMT Robey Pointer <robey@lag.net> patch-100
+
+ Summary:
+ don't forget demo_windows.py
+ Revision:
+ secsh--dev--1.0--patch-100
+
+ update MANIFEST.in to include demo_windows.py and not include the demo
+ keys (they're in tests/ now). clean up the README to explain the demo
+ scripts better now, since there are so many of them. then fix up the
+ demo scripts to look in tests/ for the keys.
+
+ demo_windows.py doesn't need to call get_pty() (in fact, i think that's
+ blowing openssh's mind) and was executing the wrong command.
+
+
+ modified files:
+ MANIFEST.in README demo_server.py demo_simple.py
+ demo_windows.py
+
+
+2004-11-01 07:07:48 GMT Robey Pointer <robey@lag.net> patch-99
+
+ Summary:
+ use getpass
+ Revision:
+ secsh--dev--1.0--patch-99
+
+ convert raw_input to getpass as suggested many weeks ago.
+
+ modified files:
+ forward.py
+
+
+2004-11-01 03:54:01 GMT Robey Pointer <robey@lag.net> patch-98
+
+ Summary:
+ don't unlink a Channel until the server closes it too
+ Revision:
+ secsh--dev--1.0--patch-98
+
+ when close()'ing a Channel, don't immediately unlink it from the Transport.
+ instead, wait for the server to send a close message.
+
+ this should fix a bug where doing close() on an EOF'd channel would cause
+ the entire transport to be killed, because the server would send an
+ 'exit-status' and 'close' message for a channel that we no longer had a
+ record of.
+
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-11-01 03:43:28 GMT Robey Pointer <robey@lag.net> patch-97
+
+ Summary:
+ better debugging, improve subsytem handler
+ Revision:
+ secsh--dev--1.0--patch-97
+
+ add a list of ssh packet names for debugging. improve the server-mode
+ subsystem handler so it can take extra parameters (list or keyword) and
+ pass them to the subsystem constructor. remove a misleading comment
+ about rekeying (which was already implemented).
+
+
+ modified files:
+ paramiko/common.py paramiko/server.py paramiko/transport.py
+
+
+2004-11-01 03:37:42 GMT Robey Pointer <robey@lag.net> patch-96
+
+ Summary:
+ remove key.valid check
+ Revision:
+ secsh--dev--1.0--patch-96
+
+ oops! 'key.valid' no longer works -- catch the SSHException instead, and log
+ it.
+
+
+ modified files:
+ paramiko/auth_transport.py
+
+
+2004-10-23 07:36:23 GMT Robey Pointer <robey@lag.net> patch-95
+
+ Summary:
+ ivysaur 0.9
+ Revision:
+ secsh--dev--1.0--patch-95
+
+ update ivysaur release date, and add the list of changes to the README
+ file.
+
+
+ modified files:
+ Makefile README paramiko/__init__.py
+
+
+2004-10-20 16:52:51 GMT Robey Pointer <robey@lag.net> patch-94
+
+ Summary:
+ start testing Transport
+ Revision:
+ secsh--dev--1.0--patch-94
+
+ the beginnings of tests for Transport. only the bare minimum is there right
+ now.
+
+ also started doc'ing things up to ivysaur.
+
+ new files:
+ .arch-ids/demo_windows.py.id demo_windows.py
+ tests/.arch-ids/loop.py.id
+ tests/.arch-ids/test_transport.py.id tests/loop.py
+ tests/test_transport.py
+
+ modified files:
+ Makefile README paramiko/__init__.py setup.py test.py
+
+
+2004-10-18 04:54:27 GMT Robey Pointer <robey@lag.net> patch-93
+
+ Summary:
+ switch Transport.connect() to using a Pkey object for the host key
+ Revision:
+ secsh--dev--1.0--patch-93
+
+ i suddenly realized that passing "hostkeytype" and "hostkey" as strings to
+ Transport.connect() was pretty silly since i went to all the effort of making
+ a class specifically for holding keys. so Transport.connect() now just takes
+ host-key argument: "hostkey" as a PKey object.
+
+ updated the demos to use PKey objects when reading the host key file, and to
+ use the new "hostkey" argument.
+
+
+ modified files:
+ demo.py demo_simple.py paramiko/pkey.py paramiko/transport.py
+
+
+2004-09-25 22:07:59 GMT Robey Pointer <robey@lag.net> patch-92
+
+ Summary:
+ add rsa/dss key object unit tests
+ Revision:
+ secsh--dev--1.0--patch-92
+
+ add tests for rsa/dss key objects -- yay!
+
+
+ new files:
+ tests/.arch-ids/test_dss.key.id
+ tests/.arch-ids/test_pkey.py.id
+ tests/.arch-ids/test_rsa.key.id tests/test_dss.key
+ tests/test_pkey.py tests/test_rsa.key
+
+
+2004-09-25 22:03:48 GMT Robey Pointer <robey@lag.net> patch-91
+
+ Summary:
+ fix test.py to use options instead of env vars, sftp tests default off
+ Revision:
+ secsh--dev--1.0--patch-91
+
+ fix up the test framework so that the sftp unit tests aren't always run (you
+ have to ask for them explicitly) and they take their configuration from
+ command-line options. they still require a remote server.
+
+ modified files:
+ test.py tests/test_sftp.py
+
+
+2004-09-25 21:58:11 GMT Robey Pointer <robey@lag.net> patch-90
+
+ Summary:
+ fix __init__
+ Revision:
+ secsh--dev--1.0--patch-90
+
+ fix __init__ to export BufferedFile and randpool, and to catch up with the
+ changes from a week or 2 ago where sftp_attr & friends were split off.
+
+ modified files:
+ paramiko/__init__.py
+
+
+2004-09-25 21:47:19 GMT Robey Pointer <robey@lag.net> patch-89
+
+ Summary:
+ fix some Transport docs
+ Revision:
+ secsh--dev--1.0--patch-89
+
+ document that Transport also would like close() and settimeout() to exist
+ on the socket-like object passed to the constructor.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-09-25 21:32:53 GMT Robey Pointer <robey@lag.net> patch-88
+
+ Summary:
+ add Message.rewind()
+ Revision:
+ secsh--dev--1.0--patch-88
+
+ add rewind() method to Message, which just resets the pointer so you can
+ start reading from the beginning again. this is useful for some tests.
+
+ modified files:
+ paramiko/message.py tests/test_message.py
+
+
+2004-09-25 21:28:23 GMT Robey Pointer <robey@lag.net> patch-87
+
+ Summary:
+ clean up pkey interface
+ Revision:
+ secsh--dev--1.0--patch-87
+
+ change the pkey interface so that it's no longer possible to have a pkey
+ that doesn't represent a valid key. (ie: no more "blank" key objects.)
+ also add "get_bits" and "can_sign" methods to determine the key bit length
+ and whether it can sign things (contains the "private parts") respectively.
+
+ modified files:
+ paramiko/dsskey.py paramiko/pkey.py paramiko/rsakey.py
+
+
+2004-09-11 21:01:32 GMT Robey Pointer <robey@lag.net> patch-86
+
+ Summary:
+ unit tests for Message
+ Revision:
+ secsh--dev--1.0--patch-86
+
+ spanking new unit tests for Message. i'm trying to fix the embarrassment
+ of having so little of paramiko testable. next up is Transport!
+
+ new files:
+ tests/.arch-ids/test_message.py.id tests/test_message.py
+
+
+2004-09-11 20:56:01 GMT Robey Pointer <robey@lag.net> patch-85
+
+ Summary:
+ move SFTPFile and SFTPAttributes into their own files
+ Revision:
+ secsh--dev--1.0--patch-85
+
+ move SFTPFile and SFTPAttributes into their own files.
+
+ new files:
+ paramiko/.arch-ids/sftp_attr.py.id
+ paramiko/.arch-ids/sftp_file.py.id paramiko/sftp_attr.py
+ paramiko/sftp_file.py
+
+ modified files:
+ paramiko/sftp.py paramiko/sftp_client.py
+
+
+2004-09-11 20:50:39 GMT Robey Pointer <robey@lag.net> patch-84
+
+ Summary:
+ add sftp.normalize
+ Revision:
+ secsh--dev--1.0--patch-84
+
+ kevin c. dorff pointed out that it would be nice to expose a way to
+ determine the server's "current working directory", so this new method
+ (normalize) directly maps to REALPATH.
+
+ modified files:
+ paramiko/sftp_client.py
+
+
+2004-09-11 20:43:09 GMT Robey Pointer <robey@lag.net> patch-83
+
+ Summary:
+ tweak Message.add() in the key exchanges
+ Revision:
+ secsh--dev--1.0--patch-83
+
+ use the new Message.add() behavior to make a little code here much easier
+ to read.
+
+ modified files:
+ paramiko/kex_gex.py paramiko/kex_group1.py
+
+
+2004-09-11 20:40:08 GMT Robey Pointer <robey@lag.net> patch-82
+
+ Summary:
+ doc fixes
+ Revision:
+ secsh--dev--1.0--patch-82
+
+ fix "string" -> "str" in types when documenting BufferedFile.
+
+ modified files:
+ paramiko/file.py
+
+
+2004-09-11 20:37:59 GMT Robey Pointer <robey@lag.net> patch-81
+
+ Summary:
+ more unit tests
+ Revision:
+ secsh--dev--1.0--patch-81
+
+ add test for BufferedFile.read(-1) and sftp.normalize().
+
+ modified files:
+ tests/test_file.py tests/test_sftp.py
+
+
+2004-09-11 20:36:49 GMT Robey Pointer <robey@lag.net> patch-80
+
+ Summary:
+ move SubsystemHandler to server.py
+ Revision:
+ secsh--dev--1.0--patch-80
+
+ move SubsystemHandler into server.py where it makes more sense (it's part of
+ the server interface).
+
+ also fix up paramiko's "version string" used in ssh2 negotiation to stop
+ saying "pyssh" and start saying "paramiko". :)
+
+ modified files:
+ paramiko/server.py paramiko/transport.py
+
+
+2004-09-11 20:35:19 GMT Robey Pointer <robey@lag.net> patch-79
+
+ Summary:
+ Message.add() can take many args
+ Revision:
+ secsh--dev--1.0--patch-79
+
+ a bit of cleanup to Message: add() can now take any number of params, and
+ will add them all in order (using type guessing).
+
+ modified files:
+ paramiko/message.py
+
+
+2004-09-09 01:36:45 GMT Robey Pointer <robey@lag.net> patch-78
+
+ Summary:
+ fix rbuffer -> _rbuffer in 3 places i missed
+ Revision:
+ secsh--dev--1.0--patch-78
+
+ fix 3 places where "rbuffer" hadn't been converted to "_rbuffer". thanks to
+ kevin c. dorff for the bug report.
+
+ modified files:
+ paramiko/file.py
+
+
+2004-09-07 06:56:49 GMT Robey Pointer <robey@lag.net> patch-77
+
+ Summary:
+ docs for SubsystemHandler
+ Revision:
+ secsh--dev--1.0--patch-77
+
+ add documentation to constructor for SubsystemHandler.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-09-07 06:54:31 GMT Robey Pointer <robey@lag.net> patch-76
+
+ Summary:
+ add sftp_client.py
+ Revision:
+ secsh--dev--1.0--patch-76
+
+ i retardedly forgot to import this file a few days ago: it's the split-out
+ client mode for sftp. it now also has some changes to adapt it to the
+ improved SFTPAttributes object API.
+
+ new files:
+ paramiko/.arch-ids/sftp_client.py.id paramiko/sftp_client.py
+
+
+2004-09-07 06:51:03 GMT Robey Pointer <robey@lag.net> patch-75
+
+ Summary:
+ clean up SFTPAttributes
+ Revision:
+ secsh--dev--1.0--patch-75
+
+ add english descriptions to the FX_* error codes of sftp. clean up (and
+ document) SFTPAttributes since it's exported now, and make it simple to
+ generate one from a python os.stat object. make "_pythonize" the default --
+ that is, just use the same field names as python does for os.stat. (i'm not
+ sure why i didn't do it that way in the first place; probably ignorance.)
+ also add str() method that converts the SFTPAttributes into a string suitable
+ for use in ls (used in an obscure way in sftp servers).
+
+ modified files:
+ paramiko/sftp.py
+
+
+2004-09-07 06:45:53 GMT Robey Pointer <robey@lag.net> patch-74
+
+ Summary:
+ note pycrypto 2.0 in README
+ Revision:
+ secsh--dev--1.0--patch-74
+
+ update the README to note that pycrypto 2.0 works (i just tried it). also
+ fix the name from pyCrypt back to pycrypto -- that project is having trouble
+ making up its mind about naming. :)
+
+ modified files:
+ README
+
+
+2004-09-05 07:44:03 GMT Robey Pointer <robey@lag.net> patch-73
+
+ Summary:
+ split sftp into sftp, sftp_client; renamed SFTP -> SFTPClient
+ Revision:
+ secsh--dev--1.0--patch-73
+
+ add sftp_client file, and split out the common code (sftp) from stuff specific
+ to client mode (sftp_client). renamed SFTP class to SFTPClient, but left an
+ alias so old code will still work.
+
+ renamed a bunch of sftp constants now that they're better hidden from epydoc.
+
+ modified files:
+ README paramiko/__init__.py paramiko/sftp.py
+
+
+2004-09-05 07:41:45 GMT Robey Pointer <robey@lag.net> patch-72
+
+ Summary:
+ some framework for adding subsystem handlers in server mode
+ Revision:
+ secsh--dev--1.0--patch-72
+
+ you can now register a subsystem with a Transport by passing in the name
+ (like "sftp") and a class (like a hypothetical SFTPServer). the default
+ ServerInterface.check_channel_request_subsystem now checks this table in
+ Transport, and if it finds a match, it creates a new thread for the handler
+ and calls into it. a new class SubsystemHandler is added for this purpose
+ (to be subclassed).
+
+ modified files:
+ paramiko/server.py paramiko/transport.py
+
+
+2004-09-05 07:37:40 GMT Robey Pointer <robey@lag.net> patch-71
+
+ Summary:
+ remove redundant 'auth_complete' member
+ Revision:
+ secsh--dev--1.0--patch-71
+
+ remove the redundant 'auth_complete' field and just use 'authenticated' for
+ both client and server mode. this makes the repr() string look correct in
+ server mode instead of always claiming that the transport is un-auth'd.
+
+ modified files:
+ paramiko/auth_transport.py
+
+
+2004-09-03 22:39:20 GMT Robey Pointer <robey@lag.net> patch-70
+
+ Summary:
+ clean up server interface; no longer need to subclass Channel
+ Revision:
+ secsh--dev--1.0--patch-70
+
+ - export AUTH_*, OPEN_FAILED_*, and the new OPEN_SUCCEEDED into the paramiko
+ namespace instead of making people dig into paramiko.Transport.AUTH_* etc.
+ - move all of the check_* methods from Channel to ServerInterface so apps
+ don't need to subclass Channel anymore just to run an ssh server
+ - ServerInterface.check_channel_request() returns an error code now, not a
+ new Channel object
+ - fix demo_server.py to follow all these changes
+ - fix a bunch of places where i used "string" in docstrings but meant "str"
+ - added Channel.get_id()
+
+ modified files:
+ README demo_server.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/channel.py
+ paramiko/common.py paramiko/server.py paramiko/sftp.py
+ paramiko/transport.py
+
+
+2004-08-31 02:44:56 GMT Robey Pointer <robey@lag.net> patch-69
+
+ Summary:
+ clean up SecurityOptions
+ Revision:
+ secsh--dev--1.0--patch-69
+
+ the preferences are now tuples in Transport, and passed as tuples out of
+ SecurityOptions, so that the options can't be modified without setting them
+ back to the options field again. the algorithm lists in Transport are used
+ to validate the fields.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-08-30 20:22:10 GMT Robey Pointer <robey@lag.net> patch-68
+
+ Summary:
+ added Transport.get_security_options()
+ Revision:
+ secsh--dev--1.0--patch-68
+
+ just something i wanted to play with:
+ added Transport.get_security_options() which returns a SecurityOptions object.
+ this object is a kind of proxy for the 4 "preferred_*" fields in Transport,
+ and lets me avoid exposing those fields directly in case i change my mind
+ later about how they should be stored.
+
+ added some docs to Channel explaining that the request methods now return
+ True/False, and fixed up docs in a few other places.
+
+ modified files:
+ paramiko/__init__.py paramiko/channel.py paramiko/server.py
+ paramiko/sftp.py paramiko/transport.py
+
+
+2004-08-28 04:21:12 GMT Robey Pointer <robey@lag.net> patch-67
+
+ Summary:
+ replay patch 63 (missing channel changes)
+ Revision:
+ secsh--dev--1.0--patch-67
+
+ i'm still getting the hang of tla/arch, obviously.
+
+ replay patch 63, which was meant to be part of the later mega-patch, but
+ apparently when i reversed it, i lost it entirely.
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-08-27 00:57:40 GMT Robey Pointer <robey@lag.net> patch-66
+
+ Summary:
+ new ServerInterface class, outbound rekey works, etc.
+ Revision:
+ secsh--dev--1.0--patch-66
+
+ a bunch of changes that i'm too lazy to split out into individual patches:
+ * all the server overrides from transport.py have been moved into a separate
+ class ServerInterface, so server code doesn't have to subclass the whole
+ paramiko library
+ * updated demo_server to subclass ServerInterface
+ * when re-keying during a session, block other messages until the new keys
+ are activated (openssh doensn't like any other traffic during a rekey)
+ * re-key when outbound limits are tripped too (was only counting inbound
+ traffic)
+ * don't log scary things on EOF
+
+
+ new files:
+ paramiko/.arch-ids/server.py.id paramiko/server.py
+
+ modified files:
+ README demo_server.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/transport.py
+
+
+2004-08-27 00:28:33 GMT Robey Pointer <robey@lag.net> patch-65
+
+ Summary:
+ add settimeout/gettimeout/setblocking, some bugfixes.
+ Revision:
+ secsh--dev--1.0--patch-65
+
+ hide the command and response codes in sftp so they aren't exported.
+ add settimeout/gettimeout/setblocking that just wrap calls to the underlying
+ socket or channel. fix _read_all to not catch timeout exceptions.
+
+
+ modified files:
+ paramiko/sftp.py
+
+
+2004-08-27 00:26:35 GMT Robey Pointer <robey@lag.net> patch-64
+
+ Summary:
+ reverse messed-up patch
+ Revision:
+ secsh--dev--1.0--patch-64
+
+ Patches applied:
+
+ * robey@lag.net--2003-public/secsh--dev--1.0--base-0
+ initial import
+
+ * robey@lag.net--2003-public/secsh--dev--1.0--patch-1
+ no changes
+
+
+ modified files:
+ paramiko/channel.py {arch}/=tagging-method
+
+
+2004-08-27 00:06:42 GMT Robey Pointer <robey@lag.net> patch-63
+
+ Summary:
+ add settimeout/gettimeout/setblocking, some bugfixes.
+ Revision:
+ secsh--dev--1.0--patch-63
+
+ hide the command and response codes in sftp so they aren't exported.
+ add settimeout/gettimeout/setblocking that just wrap calls to the underlying
+ socket or channel. fix _read_all to not catch timeout exceptions.
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-06-27 20:14:15 GMT Robey Pointer <robey@lag.net> patch-62
+
+ Summary:
+ version -> horsea
+ Revision:
+ secsh--dev--1.0--patch-62
+
+ up version to horsea.
+
+ modified files:
+ Makefile README paramiko/__init__.py setup.py
+ {arch}/secsh/secsh--dev/secsh--dev--1.0/robey@lag.net--2003-public/patch-log/patch-1
+
+
+2004-06-10 18:12:00 GMT Robey Pointer <robey@lag.net> patch-61
+
+ Summary:
+ no more Foobar
+ Revision:
+ secsh--dev--1.0--patch-61
+
+ fix "Foobar" to be "Paramiko" in the one place i missed it in all the gpl
+ headers. sigh. :)
+
+ modified files:
+ paramiko/__init__.py paramiko/auth_transport.py
+ paramiko/ber.py paramiko/common.py paramiko/dsskey.py
+ paramiko/kex_gex.py paramiko/kex_group1.py
+ paramiko/logging22.py paramiko/message.py paramiko/pkey.py
+ paramiko/primes.py paramiko/rsakey.py
+ paramiko/ssh_exception.py paramiko/util.py test.py
+
+
+2004-06-10 18:08:50 GMT Robey Pointer <robey@lag.net> patch-60
+
+ Summary:
+ limit read/write requests to 32KB, advertise 32KB max packet size
+ Revision:
+ secsh--dev--1.0--patch-60
+
+ one of the unit tests was failing because the openssh sftp server was dropping
+ the connection without any error. turns out they have a maximum allowed write
+ size (possibly around 64KB). the sftp rfcs have a small hint that some servers
+ may drop read/write requests of greater than 32KB.
+
+ so, all reads are limited to 32KB, and all writes > 32KB are now chopped up
+ and sent in 32KB chunks. this seems to keep openssh happy.
+
+ also, we now advertise 32KB max packet size instead of 8KB (the speed
+ improves a lot), and log when we read/write a packet. and sftp files are
+ flushed on seek.
+
+ modified files:
+ paramiko/sftp.py paramiko/transport.py
+
+
+2004-06-10 18:02:13 GMT Robey Pointer <robey@lag.net> patch-59
+
+ Summary:
+ speed up parts of BufferedFile
+ Revision:
+ secsh--dev--1.0--patch-59
+
+ BufferedFile uses cStringIO for the write buffer now (i don't actually notice
+ any speed difference so this might revert later) and the default buffer size
+ has been upped from 1KB to 8KB.
+
+ when scanning for linefeeds (when writing to a line-buffered file), only scan
+ the newly-written bytes, since we know all the previously buffered data is
+ linefeed-free. this was the #1 slowdown on the 1MB-file unit test.
+
+ also, limit the buffering on line-buffered files to whatever the default
+ buffer size is. there's no reason to buffer 1MB waiting for a linefeed.
+
+ modified files:
+ paramiko/file.py
+
+
+2004-06-10 17:55:17 GMT Robey Pointer <robey@lag.net> patch-58
+
+ Summary:
+ some Channel fixes for max packet size & blocking on zero window
+ Revision:
+ secsh--dev--1.0--patch-58
+
+ some clean-ups and fixes to channels:
+ * when send() is blocked on a zero-width window, check that the channel is
+ still open. this was causing some lockups.
+ * set a lower bound to the "maximum packet size" we accept from the remote
+ host. if they tell us anything less than 1KB, assume they meant 1KB. (it's
+ not reasonable to fragment below that.)
+ * leave a little padding instead of cutting right up to the maximum packet
+ size: some space will be taken up by protocol overhead.
+ * turn off some of the debug log lines unless "ultra_debug" is on (nobody
+ cares about the feed info)
+
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-06-10 17:35:30 GMT Robey Pointer <robey@lag.net> patch-57
+
+ Summary:
+ more unit tests
+ Revision:
+ secsh--dev--1.0--patch-57
+
+ add a unit test for sending a large (1MB) file with line buffering but no
+ linefeeds (this triggered several bugs and inefficiencies), and another test
+ to verify that the write buffer is flushed on seek.
+
+ modified files:
+ tests/test_file.py tests/test_sftp.py
+
+
+2004-05-31 23:48:10 GMT Robey Pointer <robey@lag.net> patch-56
+
+ Summary:
+ add forward.py demo script; bump to gyarados
+ Revision:
+ secsh--dev--1.0--patch-56
+
+ add a demo script to show how to do local port forwarding.
+
+ add gyarados to all the docs and bump the version number everywhere.
+
+ new files:
+ .arch-ids/forward.py.id forward.py
+
+ modified files:
+ MANIFEST.in Makefile README paramiko/__init__.py setup.py
+
+
+2004-05-29 18:58:11 GMT Robey Pointer <robey@lag.net> patch-55
+
+ Summary:
+ add an sftp unit test for making 100 files
+ Revision:
+ secsh--dev--1.0--patch-55
+
+ create 100 files on the remote server, set their mode with chmod, then verify
+ that they're all there and contain the right data. valeriy is reporting that
+ sometimes he's getting stuck after 20 and though i'm not seeing it, i want to
+ add a test to try to pin it down.
+
+ modified files:
+ tests/test_sftp.py
+
+
+2004-05-29 18:56:10 GMT Robey Pointer <robey@lag.net> patch-54
+
+ Summary:
+ add direct-tcpip ability to open_channel
+ Revision:
+ secsh--dev--1.0--patch-54
+
+ open_channel can now be given a dest_addr and src_addr, which are filled in
+ if the channel type is "forwarded-tcpip" or "direct-tcpip". these channel
+ types are used in remote & local port forwarding, respectively. i've only
+ tested "direct-tcpip" but i think if one works, they both should work.
+
+ also fixed a bug in connect where it was still assuming the old meaning for
+ get_remove_server_key() (oops!) and changed the sense of a send() failure
+ from <= 0 to < 0 since it may be possible for send() to return 0 and it not
+ be an EOF error.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-05-29 18:48:23 GMT Robey Pointer <robey@lag.net> patch-53
+
+ Summary:
+ add note about utf8 encodings
+ Revision:
+ secsh--dev--1.0--patch-53
+
+ add info to the README about what to do if python complains about missing
+ encodings. veleriy pogrebitskiy ran into this and had advice.
+
+ modified files:
+ README
+
+
+2004-05-17 07:41:50 GMT Robey Pointer <robey@lag.net> patch-52
+
+ Summary:
+ fix deadlock in closing a channel
+ Revision:
+ secsh--dev--1.0--patch-52
+
+ closing a channel would enter an odd codepath where the lock was grabbed,
+ some stuff was done, then another function was called where the lock was
+ grabbed again. unfortunately python locks aren't monitors so this would
+ deadlock. instead, make the smaller function lock-free with an explicit
+ notice that you must be holding the lock before calling.
+
+ modified files:
+ paramiko/channel.py
+
+
+2004-05-17 00:43:43 GMT Robey Pointer <robey@lag.net> patch-51
+
+ Summary:
+ fix utf8, raise packet size, log exceptions, be more lax with sfp servers
+ Revision:
+ secsh--dev--1.0--patch-51
+
+ explicitly import utf8 encodings for "freezing" (and also because not all
+ platforms come with utf8, apparently). raise the max acceptable packet size
+ to 8kB, cuz 2kB was too low. log exceptions at error level instead of debug
+ level. and don't reject older sftp servers.
+
+ modified files:
+ paramiko/auth_transport.py paramiko/sftp.py
+ paramiko/transport.py
+
+
+2004-04-23 22:55:16 GMT Robey Pointer <robey@lag.net> patch-50
+
+ Summary:
+ fearow date and last-minute fixes
+ Revision:
+ secsh--dev--1.0--patch-50
+
+ update release date of fearow to 23apr. fix channel._set_closed() to grab
+ the lock before notifying the in/out buffers that the channel is closed.
+ try roger's trick for finding the home folder on windows.
+
+ modified files:
+ Makefile README paramiko/__init__.py paramiko/channel.py
+ paramiko/common.py
+
+
+2004-04-08 06:31:08 GMT Robey Pointer <robey@lag.net> patch-49
+
+ Summary:
+ fix doc typos
+ Revision:
+ secsh--dev--1.0--patch-49
+
+
+ modified files:
+ paramiko/dsskey.py paramiko/rsakey.py paramiko/transport.py
+
+
+2004-04-08 05:48:16 GMT Robey Pointer <robey@lag.net> patch-48
+
+ Summary:
+ set version number to fearow
+ Revision:
+ secsh--dev--1.0--patch-48
+
+ set version number to fearow.
+
+ modified files:
+ Makefile README paramiko/__init__.py setup.py
+
+
+2004-04-08 05:12:20 GMT Robey Pointer <robey@lag.net> patch-47
+
+ Summary:
+ add socket.timeout for py22
+ Revision:
+ secsh--dev--1.0--patch-47
+
+ oops, forgot this vital part of the py22 patches. roger binns sent me a
+ code patch that included this snip.
+
+ modified files:
+ paramiko/common.py
+
+
+2004-04-07 16:05:48 GMT Robey Pointer <robey@lag.net> patch-46
+
+ Summary:
+ README update notes
+ Revision:
+ secsh--dev--1.0--patch-46
+
+ added notes on what's new, what to watch out for in py22. added a "since:
+ fearow" to all the relevant API calls that are new.
+
+ modified files:
+ README paramiko/auth_transport.py paramiko/dsskey.py
+ paramiko/pkey.py paramiko/rsakey.py paramiko/transport.py
+
+
+2004-04-07 15:52:07 GMT Robey Pointer <robey@lag.net> patch-45
+
+ Summary:
+ add set_keepalive()
+ Revision:
+ secsh--dev--1.0--patch-45
+
+ add set_keepalive() to set an automatic keepalive mechanism. (while waiting
+ for a packet on a connection, we periodically check if it's time to send a
+ keepalive packet.)
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-04-07 06:07:29 GMT Robey Pointer <robey@lag.net> patch-44
+
+ Summary:
+ add get_username() method for remembering who you auth'd as
+ Revision:
+ secsh--dev--1.0--patch-44
+
+ add get_username() method for remembering who you auth'd as. also, fix these
+ bugs:
+ * "continue" auth response counted as a failure (in server mode).
+ * try to import 'logging' in py22 before falling back to the fake logger,
+ in case they have a backported version of 'logger'
+ * raise the right exception when told to read a private key from a file that
+ isn't a private key file
+ * tell channels to close when the transport dies
+
+ modified files:
+ paramiko/auth_transport.py paramiko/channel.py
+ paramiko/common.py paramiko/pkey.py paramiko/transport.py
+
+
+2004-04-06 22:03:21 GMT Robey Pointer <robey@lag.net> patch-43
+
+ Summary:
+ fix encrypted private key files
+ Revision:
+ secsh--dev--1.0--patch-43
+
+ the random byte padding on private key files' BER data was confusing openssh,
+ so switch to null-byte padding, which is slightly less secure but works with
+ crappy old openssh. also, enforce the mode when writing the private key
+ file. we really really want it to be 0600. (python seems to ignore the
+ mode normally.)
+
+ modified files:
+ paramiko/pkey.py
+
+
+2004-04-06 08:16:02 GMT Robey Pointer <robey@lag.net> patch-42
+
+ Summary:
+ support py22, more or less
+ Revision:
+ secsh--dev--1.0--patch-42
+
+ add roger binns' patches for supporting python 2.2. i hedged a bit on the
+ logging stuff and just added some trickery to let logging be stubbed out for
+ python 2.2. this changed a lot of import statements but i managed to avoid
+ hacking at any of the existing logging.
+
+ socket timeouts are required for the threads to notice when they've been
+ deactivated. worked around it by using the 'select' module on py22.
+
+ also fixed the sftp unit tests to cope with a password-protected private key.
+
+ new files:
+ paramiko/.arch-ids/logging22.py.id paramiko/logging22.py
+
+ modified files:
+ README demo.py demo_server.py demo_simple.py
+ paramiko/__init__.py paramiko/auth_transport.py
+ paramiko/channel.py paramiko/common.py paramiko/kex_gex.py
+ paramiko/kex_group1.py paramiko/message.py paramiko/sftp.py
+ paramiko/transport.py paramiko/util.py tests/test_sftp.py
+
+
+2004-04-05 22:32:03 GMT Robey Pointer <robey@lag.net> patch-41
+
+ Summary:
+ make get_remote_server_key() return a PKey object
+ Revision:
+ secsh--dev--1.0--patch-41
+
+ a good suggestion from roger binns: make get_remote_server_key() just return
+ a pkey object instead of a tuple of strings. all the strings can be extracted
+ from the pkey object, as well as other potentially useful things.
+
+ modified files:
+ demo.py paramiko/transport.py
+
+
+2004-04-05 19:36:40 GMT Robey Pointer <robey@lag.net> patch-40
+
+ Summary:
+ add dss key generation too, and fix some bugs
+ Revision:
+ secsh--dev--1.0--patch-40
+
+ added the ability to generate dss keys and write private dss key files,
+ similar to rsa. in the process, fixed a couple of bugs with ber encoding
+ and writing password-encrypted key files. the key has to be padded to the
+ iblock size of the cipher -- it's very difficult to determine how the others
+ do this, so i just add random bytes to the end.
+
+ fixed the simple demo to use Transport's (host, port) constructor for
+ simplicity, and fixed a bug where the standard demo's DSS login wouldn't
+ work.
+
+ also, move the common logfile setup crap into util so all the demos can just
+ call that one.
+
+ modified files:
+ demo.py demo_simple.py paramiko/ber.py paramiko/dsskey.py
+ paramiko/pkey.py paramiko/rsakey.py paramiko/util.py
+
+
+2004-04-05 10:37:18 GMT Robey Pointer <robey@lag.net> patch-39
+
+ Summary:
+ add global request mechanism
+ Revision:
+ secsh--dev--1.0--patch-39
+
+ add transport.global_request() to make a global-style request (usually an
+ extension to the protocol -- like keepalives) and handle requests from the
+ remote host. incoming requests are now handled and responded to correctly,
+ which should make openssh-style keepalives work. (before, we would silently
+ ignore them, which was wrong.)
+
+ modified files:
+ paramiko/common.py paramiko/message.py paramiko/transport.py
+
+
+2004-04-05 10:24:33 GMT Robey Pointer <robey@lag.net> patch-38
+
+ Summary:
+ add common.py file
+ Revision:
+ secsh--dev--1.0--patch-38
+
+ missing from previous change because tla doesn't like to add files in some
+ situations. (frown)
+
+
+ new files:
+ paramiko/.arch-ids/common.py.id paramiko/common.py
+
+
+2004-04-05 10:16:31 GMT Robey Pointer <robey@lag.net> patch-37
+
+ Summary:
+ can now generate rsa keys (not dss yet)
+ Revision:
+ secsh--dev--1.0--patch-37
+
+ added functionality to ber to create ber streams. added some common methods
+ to PKey to allow dumping the key to base64 (the format used by openssh for
+ public key files and host key lists), and a factory for creating a key from
+ a private key file, and a common way to save private keys. RSAKey luckily
+ didn't have to change that much.
+
+ also added a factory method to RSAKey to generate a new key.
+
+
+ modified files:
+ paramiko/ber.py paramiko/pkey.py paramiko/rsakey.py
+
+
+2004-04-05 10:12:59 GMT Robey Pointer <robey@lag.net> patch-36
+
+ Summary:
+ add common.py for commonly used constants and globals
+ Revision:
+ secsh--dev--1.0--patch-36
+
+ common.py now stores the constants and globals.
+ lots of renaming because of this.
+
+ modified files:
+ paramiko/auth_transport.py paramiko/channel.py
+ paramiko/kex_gex.py paramiko/kex_group1.py
+ paramiko/transport.py paramiko/util.py
+
+
+2004-04-02 02:41:43 GMT Robey Pointer <robey@lag.net> patch-35
+
+ Summary:
+ add send_ignore
+ Revision:
+ secsh--dev--1.0--patch-35
+
+ add send_ignore() call to allow for sending garbage ignored packets to the
+ remote side.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-03-16 07:33:09 GMT Robey Pointer <robey@lag.net> patch-34
+
+ Summary:
+ fix some arcana in unpacking private keys
+ Revision:
+ secsh--dev--1.0--patch-34
+
+ "!= type([])" is a pretty obscure way to say it. let's try "is not list"
+ which is a lot more readable.
+
+ (mostly this is a test to make sure tla is working okay on my laptop.)
+
+ modified files:
+ paramiko/dsskey.py paramiko/rsakey.py
+
+
+2004-03-09 01:09:17 GMT Robey Pointer <robey@lag.net> patch-33
+
+ Summary:
+ include tests in manifest
+ Revision:
+ secsh--dev--1.0--patch-33
+
+ include the tests in the manifest for dist, and remove some outdated notes in
+ NOTES about the exported API (this is doc'd wayyy better in epydoc now).
+
+ modified files:
+ MANIFEST.in NOTES
+
+
+2004-03-08 17:54:19 GMT Robey Pointer <robey@lag.net> patch-32
+
+ Summary:
+ add unit tests
+ Revision:
+ secsh--dev--1.0--patch-32
+
+ add unit tests for BufferedFile and SFTP (it's a start). remove the demo sftp
+ client because it was 99% copied from the other demos, which makes it kinda
+ confusing. the unit tests are a much better example.
+
+ new files:
+ .arch-ids/test.py.id test.py tests/.arch-ids/=id
+ tests/.arch-ids/test_file.py.id
+ tests/.arch-ids/test_sftp.py.id tests/test_file.py
+ tests/test_sftp.py
+
+ removed files:
+ .arch-ids/demo_sftp.py.id demo_sftp.py
+
+ new directories:
+ tests tests/.arch-ids
+
+
+2004-03-08 17:52:25 GMT Robey Pointer <robey@lag.net> patch-31
+
+ Summary:
+ bump version number to eevee
+ Revision:
+ secsh--dev--1.0--patch-31
+
+ bump the version number to eevee in a few places and talk about the unit
+ tests.
+
+ modified files:
+ Makefile README paramiko/__init__.py setup.py
+
+
+2004-03-08 17:50:49 GMT Robey Pointer <robey@lag.net> patch-30
+
+ Summary:
+ finish up client sftp support
+ Revision:
+ secsh--dev--1.0--patch-30
+
+ added 'stat' to SFTPFile and SFTP, documented 'open' and 'listdir', and added
+ 'rmdir', 'lstat', 'symlink', 'chmod', 'chown', 'utime', 'readlink'.
+
+ turned off ultra debugging now that the unit tests are all working.
+
+ modified files:
+ paramiko/sftp.py
+
+
+2004-03-08 17:45:44 GMT Robey Pointer <robey@lag.net> patch-29
+
+ Summary:
+ fix some docs and BufferedFile.readline
+ Revision:
+ secsh--dev--1.0--patch-29
+
+ fix some documentation and fix readline()'s universal newline support to
+ always return strings ending with '\n', regardless of how they were in the
+ original file. (this is an obvious feature of python's universal newline
+ support that i somehow missed before.)
+
+ modified files:
+ paramiko/file.py paramiko/message.py
+
+
+2004-03-08 09:47:47 GMT Robey Pointer <robey@lag.net> patch-28
+
+ Summary:
+ fix lingering thread bug
+ Revision:
+ secsh--dev--1.0--patch-28
+
+ this bug has been in there forever and i could never figure out a workaround
+ till now.
+
+ when the python interpreter exits, it doesn't necessarily destroy the
+ remaining objects or call __del__ on anything, and it will lock up until all
+ threads finish running. how the threads are supposed to notice the exiting
+ interpreter has always been sort of a mystery to me.
+
+ tonight i figured out how to use the 'atexit' module to register a handler
+ that runs when the interpreter exits. now we keep a list of active threads
+ and ask them all to exit on shutdown. no more going to another shell to
+ kill -9 python! yeah!!
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-03-04 08:21:45 GMT Robey Pointer <robey@lag.net> patch-27
+
+ Summary:
+ add BufferedFile abstraction
+ Revision:
+ secsh--dev--1.0--patch-27
+
+ SFTP client mode is mostly functional. there are probably still some bugs
+ but most of the operations on "file" objects have survived my simple tests.
+
+ BufferedFile wraps a simpler stream in something that looks like a python
+ file (and can even handle seeking if the stream underneath supports it).
+ it's meant to be subclassed. most of it is ripped out of what used to be
+ ChannelFile so i can reuse it for sftp -- ChannelFile is now tiny.
+
+ SFTP and Message are now exported.
+
+ fixed util.format_binary_line to not quote spaces.
+
+ new files:
+ .arch-ids/demo_sftp.py.id demo_sftp.py
+ paramiko/.arch-ids/file.py.id paramiko/.arch-ids/sftp.py.id
+ paramiko/file.py paramiko/sftp.py
+
+ modified files:
+ paramiko/__init__.py paramiko/channel.py paramiko/message.py
+ paramiko/util.py
+
+
+2004-01-27 02:04:59 GMT Robey Pointer <robey@lag.net> patch-26
+
+ Summary:
+ Transport constructor can take hostname or address tuple
+ Revision:
+ secsh--dev--1.0--patch-26
+
+ part of an ongoing attempt to make "simple" versions of some of the API calls,
+ so you can do common-case operations with just a few calls:
+
+ Transport's constructor will now let you pass in a string or tuple instead
+ of a socket-like object. if you pass in a string, it assumes the string is
+ a hostname (with optional ":port" segment) and turns that into an address
+ tuple. if you pass in a tuple, it assumes it's an address tuple. in both
+ cases, it then creates a socket, connects to the given address, and then
+ continues as if that was the socket passed in.
+
+ the idea being that you can call Transport('example.com') and it will do
+ the right thing.
+
+ modified files:
+ paramiko/transport.py
+
+
+2004-01-27 02:00:19 GMT Robey Pointer <robey@lag.net> patch-25
+
+ Summary:
+ pkey no longer raises binascii.Error
+ Revision:
+ secsh--dev--1.0--patch-25
+
+ catch binascii.Error in the private key decoder and convert it into an
+ SSHException. there's no reason people should have to care that it was a
+ decoding error vs. any of the other million things that could be wrong in
+ a corrupt key file.
+
+ modified files:
+ paramiko/pkey.py
+
+
+2004-01-27 01:45:44 GMT Robey Pointer <robey@lag.net> patch-24
+
+ Summary:
+ document more of Message; add get_int64
+ Revision:
+ secsh--dev--1.0--patch-24
+
+ all of the get_* methods are now documented, but there's a bit more to do.
+ get_int64 added for eventual sftp support.
+
+ modified files:
+ paramiko/message.py
+
+
+2004-01-04 10:33:05 GMT Robey Pointer <robey@lag.net> patch-23
+
+ Summary:
+ quick doc fix.
+ Revision:
+ secsh--dev--1.0--patch-23
+
+ fix broken cross-link in kex_gex docs.
+
+ modified files:
+ paramiko/kex_gex.py
+
+
+2004-01-04 10:26:00 GMT Robey Pointer <robey@lag.net> patch-22
+
+ Summary:
+ fix MANIFEST.in, change version numbers to 0.9-doduo, fix LPGL notices
+ Revision:
+ secsh--dev--1.0--patch-22
+
+ fixed MANIFEST.in to include the demo scripts, LICENSE, and ChangeLog.
+ upped everything to version 0.9-doduo.
+
+ fixed the copyright notice, and added the LGPL banner to the top of every
+ python file.
+
+ modified files:
+ MANIFEST.in Makefile NOTES README paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/ber.py paramiko/channel.py
+ paramiko/dsskey.py paramiko/kex_gex.py paramiko/kex_group1.py
+ paramiko/message.py paramiko/pkey.py paramiko/primes.py
+ paramiko/rsakey.py paramiko/ssh_exception.py
+ paramiko/transport.py paramiko/util.py setup.py
+
+
+2004-01-04 10:07:35 GMT Robey Pointer <robey@lag.net> patch-21
+
+ Summary:
+ MANIFEST -> MANIFEST.in, fix setup.py.
+ Revision:
+ secsh--dev--1.0--patch-21
+
+ out with MANIFEST, in with MANIFEST.in.
+
+ new files:
+ .arch-ids/MANIFEST.in.id MANIFEST.in
+
+ removed files:
+ .arch-ids/MANIFEST.id MANIFEST
+
+ modified files:
+ setup.py
+
+
+2004-01-04 09:29:13 GMT Robey Pointer <robey@lag.net> patch-20
+
+ Summary:
+ more docs, and password-protected key files can now be read
+ Revision:
+ secsh--dev--1.0--patch-20
+
+ lots more documentation, some of it moved out of the README file, which is
+ now much smaller and less rambling.
+
+ repr(Transport) now reports the number of bits used in the cipher.
+
+ cleaned up BER to use util functions, and throw a proper exception (the new
+ BERException) on error. it doesn't ever have to be a full BER decoder, but
+ it can at least comb its hair and tuck in its shirt.
+
+ lots of stuff added to PKey.read_private_key_file so it can try to decode
+ password-protected key files. right now it only understands "DES-EDE3-CBC"
+ format, but this is the only format i've seen openssh make so far. if the
+ key is password-protected, but no password was given, a new exception
+ (PasswordRequiredException) is raised so an outer layer can ask for a password
+ and try again.
+
+ modified files:
+ README demo.py demo_server.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/ber.py paramiko/channel.py
+ paramiko/dsskey.py paramiko/pkey.py paramiko/primes.py
+ paramiko/rsakey.py paramiko/ssh_exception.py
+ paramiko/transport.py paramiko/util.py
+
+
+2003-12-31 06:31:43 GMT Robey Pointer <robey@lag.net> patch-19
+
+ Summary:
+ renamed auth_key -> auth_publickey; more docs.
+ Revision:
+ secsh--dev--1.0--patch-19
+
+ renamed Transport.auth_key to auth_publickey for consistency. and lots more
+ documentation.
+
+ modified files:
+ README demo.py demo_server.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/transport.py
+
+
+2003-12-30 22:24:21 GMT Robey Pointer <robey@lag.net> patch-18
+
+ Summary:
+ added public-key support to server mode, more docs
+ Revision:
+ secsh--dev--1.0--patch-18
+
+ added public-key support to server mode (it can now verify a client signature)
+ and added a demo of that to the demo_server.py script (user_rsa_key). in the
+ process, cleaned up the API of PKey so that now it only has to know about
+ signing and verifying ssh2 blobs, and can be hashed and compared with other
+ keys (comparing & hashing only the public parts of the key). keys can also
+ be created from strings now too.
+
+ some more documentation and hiding private methods.
+
+ new files:
+ .arch-ids/user_rsa_key.id .arch-ids/user_rsa_key.pub.id
+ user_rsa_key user_rsa_key.pub
+
+ modified files:
+ Makefile demo_server.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/dsskey.py
+ paramiko/kex_gex.py paramiko/kex_group1.py paramiko/pkey.py
+ paramiko/rsakey.py paramiko/transport.py
+
+
+2003-12-30 07:18:20 GMT Robey Pointer <robey@lag.net> patch-17
+
+ Summary:
+ lots more documentation, and added Transport.connect()
+ Revision:
+ secsh--dev--1.0--patch-17
+
+ renamed demo_host_key to demo_rsa_key. moved changelog to a separate file,
+ and indicated that future changelog entries should be fetched from tla.
+ tried to clean up "__all__" in a way that makes epydoc still work.
+
+ added lots more documentation, and renamed many methods and vars to hide
+ them as private non-exported API.
+
+ Transport's ModulusPack is now a static member, so it only has to be loaded
+ once, and can then be used by any future Transport object.
+
+ added Transport.connect(), which tries to wrap all the SSH2 negotiation and
+ authentication into one method. you should be able to create a Transport,
+ call connect(), and then create channels.
+
+ new files:
+ .arch-ids/ChangeLog.id .arch-ids/demo_simple.py.id ChangeLog
+ demo_simple.py paramiko/.arch-ids/pkey.py.id paramiko/pkey.py
+
+ removed files:
+ .arch-ids/paramiko.py.id paramiko.py
+
+ modified files:
+ Makefile NOTES README demo.py demo_server.py
+ paramiko/__init__.py paramiko/auth_transport.py
+ paramiko/channel.py paramiko/dsskey.py paramiko/kex_gex.py
+ paramiko/kex_group1.py paramiko/rsakey.py
+ paramiko/transport.py setup.py {arch}/=tagging-method
+
+ renamed files:
+ .arch-ids/demo_host_key.id
+ ==> .arch-ids/demo_rsa_key.id
+ demo_host_key
+ ==> demo_rsa_key
+
+
+2003-12-28 03:20:42 GMT Robey Pointer <robey@lag.net> patch-16
+
+ Summary:
+ hook up server-side kex-gex; add more documentation
+ Revision:
+ secsh--dev--1.0--patch-16
+
+ group-exchange kex should work now on the server side. it will only be
+ advertised if a "moduli" file has been loaded (see the -gasp- docs) so we
+ don't spend hours (literally. hours.) computing primes. some of the logic
+ was previously wrong, too, since it had never been tested.
+
+ fixed repr() string for Transport/BaseTransport. moved is_authenticated to
+ Transport where it belongs.
+
+ added lots of documentation (but still only about 10% documented). lots of
+ methods were made private finally.
+
+ new files:
+ paramiko/.arch-ids/primes.py.id paramiko/primes.py
+
+ modified files:
+ NOTES demo.py demo_server.py paramiko/__init__.py
+ paramiko/auth_transport.py paramiko/channel.py
+ paramiko/kex_gex.py paramiko/kex_group1.py
+ paramiko/transport.py paramiko/util.py
+
+
+2003-12-27 02:03:44 GMT Robey Pointer <robey@lag.net> patch-15
+
+ Summary:
+ fix up new paramiko/ folder.
+ Revision:
+ secsh--dev--1.0--patch-15
+
+ moved SSHException to a new file (ssh_exception.py) and turned paramiko.py
+ into an __init__.py file. i'm still not entirely sure how this normally
+ works, so i may have done something wrong, but it's supposed to work the
+ same as before.
+
+ new files:
+ paramiko/.arch-ids/__init__.py.id
+ paramiko/.arch-ids/ssh_exception.py.id paramiko/__init__.py
+ paramiko/ssh_exception.py
+
+ modified files:
+ paramiko/auth_transport.py paramiko/channel.py
+ paramiko/dsskey.py paramiko/kex_gex.py paramiko/kex_group1.py
+ paramiko/transport.py
+
+
+2003-12-27 01:49:19 GMT Robey Pointer <robey@lag.net> patch-14
+
+ Summary:
+ move the paramiko files into a paramiko/ folder.
+ Revision:
+ secsh--dev--1.0--patch-14
+
+ just moving the files into a folder. it won't build this way yet.
+
+ new files:
+ paramiko/.arch-ids/=id
+
+ renamed files:
+ .arch-ids/auth_transport.py.id
+ ==> paramiko/.arch-ids/auth_transport.py.id
+ .arch-ids/ber.py.id
+ ==> paramiko/.arch-ids/ber.py.id
+ .arch-ids/channel.py.id
+ ==> paramiko/.arch-ids/channel.py.id
+ .arch-ids/dsskey.py.id
+ ==> paramiko/.arch-ids/dsskey.py.id
+ .arch-ids/kex_gex.py.id
+ ==> paramiko/.arch-ids/kex_gex.py.id
+ .arch-ids/kex_group1.py.id
+ ==> paramiko/.arch-ids/kex_group1.py.id
+ .arch-ids/message.py.id
+ ==> paramiko/.arch-ids/message.py.id
+ .arch-ids/rsakey.py.id
+ ==> paramiko/.arch-ids/rsakey.py.id
+ .arch-ids/transport.py.id
+ ==> paramiko/.arch-ids/transport.py.id
+ .arch-ids/util.py.id
+ ==> paramiko/.arch-ids/util.py.id
+ auth_transport.py
+ ==> paramiko/auth_transport.py
+ ber.py
+ ==> paramiko/ber.py
+ channel.py
+ ==> paramiko/channel.py
+ dsskey.py
+ ==> paramiko/dsskey.py
+ kex_gex.py
+ ==> paramiko/kex_gex.py
+ kex_group1.py
+ ==> paramiko/kex_group1.py
+ message.py
+ ==> paramiko/message.py
+ rsakey.py
+ ==> paramiko/rsakey.py
+ transport.py
+ ==> paramiko/transport.py
+ util.py
+ ==> paramiko/util.py
+
+ new directories:
+ paramiko paramiko/.arch-ids
+
+
+2003-12-24 22:09:43 GMT Robey Pointer <robey@lag.net> patch-13
+
+ Summary:
+ fix a deadlock/race in handle_eof & close
+ Revision:
+ secsh--dev--1.0--patch-13
+
+ (patch from fred gansevles)
+ add locking around the eof handler and the close() call, so we can't be in
+ both simultaneously.
+
+ modified files:
+ channel.py
+
+
+2003-12-24 20:49:38 GMT Robey Pointer <robey@lag.net> patch-12
+
+ Summary:
+ fix dss key signing
+ Revision:
+ secsh--dev--1.0--patch-12
+
+ (expanded on a patch from fred gansevles)
+ add a demo dss key for server mode, and fix some bugs that had caused the dss
+ signing stuff to never work before. the demo_server is a bit more verbose
+ now, too. both key types (RSAKey & DSSKey) now have a function to return the
+ fingerprint of the key, and both versions of read_private_key_file() now raise
+ exceptions on failure, instead of just silently setting "valid" to false.
+
+ new files:
+ .arch-ids/demo_dss_key.id demo_dss_key
+
+ modified files:
+ demo_server.py dsskey.py kex_gex.py kex_group1.py paramiko.py
+ rsakey.py transport.py
+
+
+2003-12-23 06:44:56 GMT Robey Pointer <robey@lag.net> patch-11
+
+ Summary:
+ in server mode, don't offer keys we don't have
+ Revision:
+ secsh--dev--1.0--patch-11
+
+ (from Paolo Losi) in server mode, when advertising which key methods we
+ support, don't list methods that we don't have any existing keys for.
+
+ modified files:
+ transport.py
+
+
+2003-12-23 06:36:27 GMT Robey Pointer <robey@lag.net> patch-10
+
+ Summary:
+ add logfiles and .pyc files to the "junk" list
+ Revision:
+ secsh--dev--1.0--patch-10
+
+ add *.log and *.pyc to the explicit junk list.
+
+ modified files:
+ {arch}/=tagging-method
+
+
+2003-11-10 08:49:50 GMT Robey Pointer <robey@lag.net> patch-9
+
+ Summary:
+ rename secsh -> paramiko
+ Revision:
+ secsh--dev--1.0--patch-9
+
+ also, rename SecshException back to SSHException. sigh. :)
+
+ modified files:
+ ./MANIFEST ./Makefile ./NOTES ./README ./auth_transport.py
+ ./channel.py ./demo.py ./demo_server.py ./kex_gex.py
+ ./kex_group1.py ./message.py ./paramiko.py ./setup.py
+ ./transport.py
+
+ renamed files:
+ ./.arch-ids/secsh.py.id
+ ==> ./.arch-ids/paramiko.py.id
+ ./secsh.py
+ ==> ./paramiko.py
+
+
+2003-11-10 06:52:35 GMT Robey Pointer <robey@lag.net> patch-8
+
+ Summary:
+ doc changes
+ Revision:
+ secsh--dev--1.0--patch-8
+
+
+ modified files:
+ ./README ./demo_server.py ./secsh.py
+
+
+2003-11-10 04:54:02 GMT Robey Pointer <robey@lag.net> patch-7
+
+ Summary:
+ cleaned up server code, renamed some files & classes
+ Revision:
+ secsh--dev--1.0--patch-7
+
+ renamed demo-server.py and demo-host-key to demo_server.py and
+ demo_host_key, just to be consistent.
+
+ renamed SSHException -> SecshException.
+
+ generalized the mechanism where Channel decides whether to allow
+ different channel requests: 4 of the main ones (pty, window-change,
+ shell, and subsystem) go through easily override-able methods now.
+ you could probably make an actual ssh shell server.
+
+ gave ChannelFile a repr().
+
+ turned off ultra debugging in the demos. demo_server creates a
+ subclass of Channel to allow pty/shell and sets an event when the
+ shell request is made, so that it knows when it can start sending
+ the fake bbs.
+
+ renamed to charmander and updated some of the distutils files.
+
+ modified files:
+ ./MANIFEST ./NOTES ./auth_transport.py ./channel.py ./demo.py
+ ./demo_server.py ./kex_gex.py ./kex_group1.py ./secsh.py
+ ./setup.py ./transport.py
+
+ renamed files:
+ ./.arch-ids/demo-host-key.id
+ ==> ./.arch-ids/demo_host_key.id
+ ./.arch-ids/demo-server.py.id
+ ==> ./.arch-ids/demo_server.py.id
+ ./demo-host-key
+ ==> ./demo_host_key
+ ./demo-server.py
+ ==> ./demo_server.py
+
+
+2003-11-09 21:16:35 GMT Robey Pointer <robey@lag.net> patch-6
+
+ Summary:
+ notes about the exported api
+ Revision:
+ secsh--dev--1.0--patch-6
+
+ just wrote some quick notes (for a few of the classes) about which
+ methods are intended to be the exported API. python has no decent
+ way of distinguishing private vs public.
+
+
+ modified files:
+ ./NOTES
+
+
+2003-11-09 21:14:21 GMT Robey Pointer <robey@lag.net> patch-5
+
+ Summary:
+ big chunk of work which makes server code 95% done
+ Revision:
+ secsh--dev--1.0--patch-5
+
+ fixed auth check methods to return just a result (failed, succeeded,
+ partially succeeded) and always use get_allowed_auths to determine the
+ list of allowed auth methods to return.
+
+ channel's internal API changed a bit to allow for client-side vs.
+ server-side channels. we now honor the "want-reply" bit from channel
+ requests. in server mode (for now), we automatically allow pty-req
+ and shell requests without doing anything.
+
+ ChannelFile was fixed up a bit to support universal newlines. readline
+ got rewritten: the old way used the "greedy" read call from ChannelFile,
+ which won't work if the socket doesn't have that much data buffered and
+ ready. now it uses recv directly, and tracks the different newlines.
+
+ demo-server.py now answers to a single shell request (like a CLI ssh
+ tool will make) and does a very simple demo pretending to be a BBS.
+
+ transport: fixed a bug with parsing the remote side's banner. channel
+ requests are passed to another method in server mode, to determine if
+ we should allow it. new allowed channels are added to an accept queue,
+ and a new method 'accept' (with timeout) will block until the next
+ incoming channel is ready.
+
+
+ modified files:
+ ./auth_transport.py ./channel.py ./demo-server.py ./demo.py
+ ./transport.py
+
+
+2003-11-09 20:59:51 GMT Robey Pointer <robey@lag.net> patch-4
+
+ Summary:
+ change kex-gex server code to generate primes by hand
+ Revision:
+ secsh--dev--1.0--patch-4
+
+ added a util function "generate_prime" to compare to the incredibly slow C
+ version, but it's no faster of course. i think kex-gex from the server is
+ just not going to be feasible without having a separate thread generate some
+ primes in the background to have handy when a request comes in. so in short,
+ this still doesn't work.
+
+ also i put bit_length into util and a tb_strings function which gets stack
+ traceback info and splits it into a list of strings.
+
+
+ modified files:
+ ./kex_gex.py ./util.py
+
+
+2003-11-07 10:36:42 GMT Robey Pointer <robey@lag.net> patch-3
+
+ Summary:
+ remove some leftover garbage from dsskey
+ Revision:
+ secsh--dev--1.0--patch-3
+
+ leftover from a cut & paste i was doing a few days ago. bad robey.
+
+ modified files:
+ ./dsskey.py
+
+
+2003-11-06 07:34:27 GMT Robey Pointer <robey@lag.net> patch-2
+
+ Summary:
+ add a demo host key and point demo-server at it.
+ Revision:
+ secsh--dev--1.0--patch-2
+
+ also, temporarily comment out the nonfunctional kex-gex method.
+
+ new files:
+ ./.arch-ids/demo-host-key.id ./demo-host-key
+
+ modified files:
+ ./demo-server.py ./transport.py
+
+
+2003-11-04 08:50:22 GMT Robey Pointer <robey@lag.net> patch-1
+
+ Summary:
+ no changes
+ Revision:
+ secsh--dev--1.0--patch-1
+
+ why aren't my log messages kept?
+
+ modified files:
+ ./kex_gex.py
+
+ new patches:
+ robey@lag.net--2003/secsh--dev--1.0--patch-1
+
+
+2003-11-04 08:34:24 GMT Robey Pointer <robey@lag.net> base-0
+
+ Summary:
+ initial import
+ Revision:
+ secsh--dev--1.0--base-0
+
+
+ (automatically generated log message)
+
+ new files:
+ ./LICENSE ./MANIFEST ./Makefile ./NOTES ./README
+ ./auth_transport.py ./ber.py ./channel.py ./demo-server.py
+ ./demo.py ./dsskey.py ./kex_gex.py ./kex_group1.py
+ ./message.py ./rsakey.py ./secsh.py ./setup.py ./transport.py
+ ./util.py
+
+ new patches:
+ robey@lag.net--2003/secsh--dev--1.0--base-0
+
+
diff --git a/LICENSE b/LICENSE
index b1e3f5a..d12bef0 100644
--- a/LICENSE
+++ b/LICENSE
@@ -2,7 +2,7 @@
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
Also add information on how to contact you by electronic and paper mail.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..572f867
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,15 @@
+release: docs
+ python setup.py sdist register upload
+
+docs: paramiko/*
+ epydoc --no-private -o docs/ paramiko
+
+clean:
+ rm -rf build dist docs
+ rm -f MANIFEST *.log demos/*.log
+ rm -f paramiko/*.pyc
+ rm -f test.log
+ rm -rf paramiko.egg-info
+
+test:
+ python ./test.py
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..7a983ba
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,473 @@
+
+====
+NEWS
+====
+
+Highlights of what's new in each release.
+
+Issues noted as "'ssh' #NN" can be found at https://github.com/bitprophet/ssh/.
+
+Issues noted as "Fabric #NN" can be found at https://github.com/fabric/fabric/.
+
+Releases
+========
+
+v1.10.1 (5th Apr 2013)
+----------------------
+
+* #142: (Fabric #811) SFTP put of empty file will still return the attributes
+ of the put file. Thanks to Jason R. Coombs for the patch.
+* #154: (Fabric #876) Forwarded SSH agent connections left stale local pipes
+ lying around, which could cause local (and sometimes remote or network)
+ resource starvation when running many agent-using remote commands. Thanks to
+ Kevin Tegtmeier for catch & patch.
+
+v1.10.0 (1st Mar 2013)
+--------------------
+
+* #66: Batch SFTP writes to help speed up file transfers. Thanks to Olle
+ Lundberg for the patch.
+* #133: Fix handling of window-change events to be on-spec and not
+ attempt to wait for a response from the remote sshd; this fixes problems with
+ less common targets such as some Cisco devices. Thanks to Phillip Heller for
+ catch & patch.
+* #93: Overhaul SSH config parsing to be in line with `man ssh_config` (& the
+ behavior of `ssh` itself), including addition of parameter expansion within
+ config values. Thanks to Olle Lundberg for the patch.
+* #110: Honor SSH config `AddressFamily` setting when looking up local
+ host's FQDN. Thanks to John Hensley for the patch.
+* #128: Defer FQDN resolution until needed, when parsing SSH config files.
+ Thanks to Parantapa Bhattacharya for catch & patch.
+* #102: Forego random padding for packets when running under `*-ctr` ciphers.
+ This corrects some slowdowns on platforms where random byte generation is
+ inefficient (e.g. Windows). Thanks to `@warthog618` for catch & patch, and
+ Michael van der Kolff for code/technique review.
+* #127: Turn `SFTPFile` into a context manager. Thanks to Michael Williamson
+ for the patch.
+* #116: Limit `Message.get_bytes` to an upper bound of 1MB to protect against
+ potential DoS vectors. Thanks to `@mvschaik` for catch & patch.
+* #115: Add convenience `get_pty` kwarg to `Client.exec_command` so users not
+ manually controlling a channel object can still toggle PTY creation. Thanks
+ to Michael van der Kolff for the patch.
+* #71: Add `SFTPClient.putfo` and `.getfo` methods to allow direct
+ uploading/downloading of file-like objects. Thanks to Eric Buehl for the
+ patch.
+* #113: Add `timeout` parameter to `SSHClient.exec_command` for easier setting
+ of the command's internal channel object's timeout. Thanks to Cernov Vladimir
+ for the patch.
+* #94: Remove duplication of SSH port constant. Thanks to Olle Lundberg for the
+ catch.
+* #80: Expose the internal "is closed" property of the file transfer class
+ `BufferedFile` as `.closed`, better conforming to Python's file interface.
+ Thanks to `@smunaut` and James Hiscock for catch & patch.
+
+v1.9.0 (6th Nov 2012)
+---------------------
+
+* #97 (with a little #93): Improve config parsing of `ProxyCommand` directives
+ and provide a wrapper class to allow subprocess-driven proxy commands to be
+ used as `sock=` arguments for `SSHClient.connect`.
+* #77: Allow `SSHClient.connect()` to take an explicit `sock` parameter
+ overriding creation of an internal, implicit socket object.
+* Thanks in no particular order to Erwin Bolwidt, Oskari Saarenmaa, Steven
+ Noonan, Vladimir Lazarenko, Lincoln de Sousa, Valentino Volonghi, Olle
+ Lundberg, and Github user `@acrish` for the various and sundry patches
+ leading to the above changes.
+
+v1.8.1 (6th Nov 2012)
+---------------------
+
+* #90: Ensure that callbacks handed to `SFTPClient.get()` always fire at least
+ once, even for zero-length files downloaded. Thanks to Github user `@enB` for
+ the catch.
+* #85: Paramiko's test suite overrides
+ `unittest.TestCase.assertTrue/assertFalse` to provide these modern assertions
+ to Python 2.2/2.3, which lacked them. However on newer Pythons such as 2.7,
+ this now causes deprecation warnings. The overrides have been patched to only
+ execute when necessary. Thanks to `@Arfrever` for catch & patch.
+
+
+v1.8.0 (3rd Oct 2012)
+---------------------
+
+* #17 ('ssh' 28): Fix spurious `NoneType has no attribute 'error'` and similar
+ exceptions that crop up on interpreter exit.
+* 'ssh' 32: Raise a more useful error explaining which `known_hosts` key line was
+ problematic, when encountering `binascii` issues decoding known host keys.
+ Thanks to `@thomasvs` for catch & patch.
+* 'ssh' 33: Bring `ssh_config` parsing more in line with OpenSSH spec, re: order of
+ setting overrides by `Host` specifiers. Specifically, the overrides now go by
+ file order instead of automatically sorting by `Host` value length. In
+ addition, the first value found per config key (e.g. `Port`, `User` etc)
+ wins, instead of the last. Thanks to Jan Brauer for the contribution.
+* 'ssh' 36: Support new server two-factor authentication option
+ (`RequiredAuthentications2`), at least re: combining key-based & password
+ auth. Thanks to Github user `bninja`.
+* 'ssh' 11: When raising an exception for hosts not listed in
+ `known_hosts` (when `RejectPolicy` is in effect) the exception message was
+ confusing/vague. This has been improved somewhat. Thanks to Cal Leeming for
+ highlighting the issue.
+* 'ssh' 40: Fixed up & expanded EINTR signal handling. Thanks to Douglas Turk.
+* 'ssh' 15: Implemented parameter substitution in SSHConfig, matching the
+ implementation of `ssh_config(5)`. Thanks to Olle Lundberg for the patch.
+* 'ssh' 24: Switch some internal type checking to use `isinstance` to help prevent
+ problems with client libraries using subclasses of builtin types. Thanks to
+ Alex Morega for the patch.
+* Fabric #562: Agent forwarding would error out (with `Authentication response
+ too long`) or freeze, when more than one remote connection to the local agent
+ was active at the same time. This has been fixed. Thanks to Steven McDonald
+ for assisting in troubleshooting/patching, and to GitHub user `@lynxis` for
+ providing the final version of the patch.
+* 'ssh' 5: Moved a `fcntl` import closer to where it's used to help avoid
+ `ImportError` problems on Windows platforms. Thanks to Jason Coombs for the
+ catch + suggested fix.
+* 'ssh' 4: Updated implementation of WinPageant integration to work on 64-bit
+ Windows. Thanks again to Jason Coombs for the patch.
+* Added an IO loop sleep() call to avoid needless CPU usage when agent
+ forwarding is in use.
+* Handful of internal tweaks to version number storage.
+* Updated `setup.py` with `==dev` install URL for `pip` users.
+* Updated `setup.py` to account for packaging problems in PyCrypto 2.4.0
+* Added an extra `atfork()` call to help prevent spurious RNG errors when
+ running under high parallel (multiprocess) load.
+* Merge PR #28: https://github.com/paramiko/paramiko/pull/28 which adds a
+ ssh-keygen like demo module. (Sofian Brabez)
+
+v1.7.7.2 16may12
+----------------
+ * Merge pull request #63: https://github.com/paramiko/paramiko/pull/63 which
+ fixes exceptions that occur when re-keying over fast connections. (Dwayne
+ Litzenberger)
+
+v1.7.7.1 (George) 21may11
+-------------------------
+ * Make the verification phase of SFTP.put optional (Larry Wright)
+ * Patches to fix AIX support (anonymous)
+ * Patch from Michele Bertoldi to allow compression to be turned on in the
+ client constructor.
+ * Patch from Shad Sharma to raise an exception if the transport isn't active
+ when you try to open a new channel.
+ * Stop leaking file descriptors in the SSH agent (John Adams)
+ * More fixes for Windows address family support (Andrew Bennetts)
+ * Use Crypto.Random rather than Crypto.Util.RandomPool
+ (Gary van der Merwe, #271791)
+ * Support for openssl keys (tehfink)
+ * Fix multi-process support by calling Random.atfork (sugarc0de)
+
+v1.7.6 (Fanny) 1nov09
+---------------------
+ * fixed bugs 411099 (sftp chdir isn't unicode-safe), 363163 & 411910 (more
+ IPv6 problems on windows), 413850 (race when server closes the channel),
+ 426925 (support port numbers in host keys)
+
+v1.7.5 (Ernest) 19jul09
+-----------------------
+ * added support for ARC4 cipher and CTR block chaining (Denis Bernard)
+ * made transport threads daemonize, to fix python 2.6 atexit behavior
+ * support unicode hostnames, and IP6 addresses (Maxime Ripard, Shikhar
+ Bhushan)
+ * various small bug fixes
+
+v1.7.4 (Desmond) 06jul08
+------------------------
+ * more randpool fixes for windows, from Dwayne Litzenberger
+ (NOTE: this may require a pycrypto upgrade on windows)
+ * fix potential deadlock during key exchange (Dwayne Litzenberger)
+ * remove MFC dependency from windows (Mark Hammond)
+ * added some optional API improvements for SFTPClient get() and put()
+
+v1.7.3 (Clara) 23mar08
+----------------------
+ * SSHClient can be asked not to use an SSH agent now, and not to search
+ for private keys
+ * added WarningPolicy option for SSHClient (warn, but allow, on unknown
+ server keys)
+ * added Channel.exit_status_ready to poll if a channel has received an
+ exit status yet
+ * new demo for reverse port forwarding
+ * (bug 177117) fix UTF-8 passwords
+ * (bug 189466) fix typo in osrandom.py
+ * (bug 191657) potentially fix a race at channel shutdown
+ * (bug 192749) document that SSHClient.connect may raise socket.error
+ * (bug 193779) translate EOFError into AuthException during authentication
+ * (bug 200416) don't create a new logger object for each channel
+
+v1.7.2 (Basil) 21jan08
+----------------------
+ * (bug 137219) catch EINTR and handle correctly
+ * (bug 157205) fix select() to trigger on stderr for a channel too
+ * added SSHClient.get_transport()
+ * added Channel.send_ready()
+ * added direct-tcpip forwarding [patch from david guerizec]
+ * fixed the PRNG to be more secure on windows and in cases where fork() is
+ called [patch from dwayne litzenberger]
+
+v1.7.1 (Amy) 10jun07
+--------------------
+ * windows SSH agent support can use the 'ctypes' module now if 'win32all' is
+ not available [patch from alexander belchenko]
+ * SFTPClient.listdir_attr() now preserves the 'longname' field [patch from
+ wesley augur]
+ * SFTPClient.get_channel() API added
+ * SSHClient constuctor takes an optional 'timeout' parameter [patch from
+ james bardin]
+
+v1.7 (zubat) 18feb07
+--------------------
+ * added x11 channel support (patch from david guerizec)
+ * added reverse port forwarding support
+ * (bug 75370) raise an exception when contacting a broken SFTP server
+ * (bug 80295) SSHClient shouldn't expand the user directory twice when reading
+ RSA/DSS keys
+ * (bug 82383) typo in DSS key in SSHClient
+ * (bug 83523) python 2.5 warning when encoding a file's modification time
+ * if connecting to an SSH agent fails, silently fallback instead of raising
+ an exception
+
+v1.6.4 (yanma) 19nov06
+----------------------
+ * fix setup.py on osx (oops!)
+ * (bug 69330) check for the existence of RSA/DSA keys before trying to open
+ them in SFTPClient
+ * (bug 69222) catch EAGAIN in socket code to workaround a bug in recent
+ Linux 2.6 kernels
+ * (bug 70398) improve dict emulation in HostKeys objects
+ * try harder to make sure all worker threads are joined on Transport.close()
+
+v1.6.3 (xatu) 14oct06
+---------------------
+ * fixed bug where HostKeys.__setitem__ wouldn't always do the right thing
+ * fixed bug in SFTPClient.chdir and SFTPAttributes.__str__ [patch from
+ mike barber]
+ * try harder not to raise EOFError from within SFTPClient
+ * fixed bug where a thread waiting in accept() could block forever if the
+ transport dies [patch from mike looijmans]
+
+v1.6.2 (weedle) 16aug06
+-----------------------
+ * added support for "old" group-exchange server mode, for compatibility
+ with the windows putty client
+ * fixed some more interactions with SFTP file readv() and prefetch()
+ * when saving the known_hosts file, preserve the original order [patch from
+ warren young]
+ * fix a couple of broken lines when exporting classes (bug 55946)
+
+v1.6.1 (vulpix) 10jul06
+-----------------------
+ * more unit tests fixed for windows/cygwin (thanks to alexander belchenko)
+ * a couple of fixes related to exceptions leaking out of SFTPClient
+ * added ability to set items in HostKeys via __setitem__
+ * HostKeys now retains order and has a save() method
+ * added PKey.write_private_key and PKey.from_private_key
+
+v1.6 (umbreon) 10may06
+----------------------
+ * pageant support on Windows thanks to john arbash meinel and todd whiteman
+ * fixed unit tests to work under windows and cygwin (thanks to alexander
+ belchenko for debugging)
+ * various bugfixes/tweaks to SFTP file prefetch
+ * added SSHClient for a higher-level API
+ * SFTP readv() now yields results as it gets them
+ * several APIs changed to throw an exception instead of "False" on failure
+
+v1.5.4 (tentacool) 11mar06
+--------------------------
+ * fixed HostKeys to more correctly emulate a python dict
+ * fixed a bug where file read buffering was too aggressive
+ * improved prefetching so that out-of-order reads still use the prefetch
+ buffer
+ * added experimental SFTPFile.readv() call
+ * more unit tests
+
+v1.5.3 (squirtle) 19feb06
+-------------------------
+ * a few performance enhancements
+ * added HostKeys, for dealing with openssh style "known_hosts" files, and
+ added support for hashed hostnames
+ * added Transport.atfork() for dealing with forked children
+ * added SFTPClient.truncate, SFTPFile.chmod, SFTPFile.chown, SFTPFile.utime,
+ and SFTPFile.truncate
+ * improved windows demos [patch from mike looijmans], added an sftp demo, and
+ moved demos to the demos/ folder
+ * fixed a few interoperability bugs
+ * cleaned up logging a bit
+ * fixed a bug where EOF on a Channel might not be detected by select [found
+ by thomas steinacher]
+ * fixed python 2.4-ism that crept in [patch by jan hudec]
+ * fixed a few reference loops that could have interacted badly with the python
+ garbage collector
+ * fixed a bunch of pychecker warnings, some of which were bugs
+
+v1.5.2 (rhydon) 04dec05
+-----------------------
+ * compression support (opt-in via Transport.use_compression)
+ * sftp files may be opened with mode flag 'x' for O_EXCL (exclusive-open)
+ behavior, which has no direct python equivalent
+ * added experimental util functions for parsing openssh config files
+ * fixed a few bugs (and potential deadlocks) with key renegotiation
+ * fixed a bug that caused SFTPFile.prefetch to occasionally lock up
+ * fixed an sftp bug which affected van dyke sftp servers
+ * fixed the behavior of select()ing on a closed channel, such that it will
+ always trigger as readable
+
+v1.5.1 (quilava) 31oct05
+------------------------
+ * SFTPFile.prefetch() added to dramatically speed up downloads (automatically
+ turned on in SFTPClient.get())
+ * fixed bug where garbage-collected Channels could trigger the Transport to
+ close the session (reported by gordon good)
+ * fixed a deadlock in rekeying (reported by wendell wood)
+ * fixed some windows bugs and SFTPAttributes.__str__() (reported by grzegorz
+ makarewicz)
+ * better sftp error reporting by adding fake "errno" info to IOErrors
+
+v1.5 (paras) 02oct05
+--------------------
+ * added support for "keyboard-interactive" authentication
+ * added mode (on by default) where password authentication will try to
+ fallback to "keyboard-interactive" if it's supported
+ * added pipelining to SFTPFile.write and SFTPClient.put
+ * fixed bug with SFTPFile.close() not guarding against being called more
+ than once (thanks to Nathaniel Smith)
+ * fixed broken 'a' flag in SFTPClient.file() (thanks to Nathaniel Smith)
+ * fixed up epydocs to look nicer
+ * reorganized auth_transport into auth_handler, which seems to be a cleaner
+ separation
+ * demo scripts fixed to have a better chance of loading the host keys
+ correctly on windows/cygwin
+
+v1.4 (oddish) 17jul05
+---------------------
+ * added SSH-agent support (for posix) from john rochester
+ * added chdir() and getcwd() to SFTPClient, to emulate a "working directory"
+ * added get() and put() to SFTPClient, to emulate ftp whole-file transfers
+ * added check() to SFTPFile (a file hashing protocol extension)
+ * fixed Channels and SFTPFiles (among others) to auto-close when GC'd
+ * fixed Channel.fileno() for Windows, this time really
+ * don't log socket errors as "unknown exception"
+ * some misc. backward-compatible API improvements (like allowing
+ Transport.start_client() and start_server() to be called in a blocking way)
+
+v1.3.1 (nidoran) 28jun05
+------------------------
+ * added SFTPClient.close()
+ * fixed up some outdated documentation
+ * made SFTPClient.file() an alias for open()
+ * added Transport.open_sftp_client() for convenience
+ * refactored packetizing out of Transport
+ * fixed bug (reported by alain s.) where connecting to a non-SSH host could
+ cause paramiko to freeze up
+ * fixed Channel.fileno() for Windows (again)
+ * some more unit tests
+
+v1.3 (marowak) 09apr05
+----------------------
+ * fixed a bug where packets larger than about 12KB would cause the session
+ to die on all platforms except osx
+ * added a potential workaround for windows to let Channel.fileno() (and
+ therefore the select module) work!
+ * changed API for subsystem handlers (sorry!) to pass more info and make it
+ easier to write a functional SFTP server
+
+v1.2 (lapras) 28feb05
+---------------------
+ * added SFTPClient.listdir_attr() for fetching a list of files and their
+ attributes in one call
+ * added Channel.recv_exit_status() and Channel.send_exit_status() for
+ manipulating the exit status of a command from either client or server
+ mode
+ * moved check_global_request into ServerInterface, where it should've been
+ all along (oops)
+ * SFTPHandle's default implementations are fleshed out more
+ * made logging a bit more consistent, and started logging thread ids
+ * fixed a few race conditions, one of which would sometimes cause a Transport
+ to fail to start on slow machines
+ * more unit tests
+
+v1.1 (kabuto) 12dec04
+---------------------
+ * server-side SFTP support
+ * added support for stderr streams on client & server channels
+ * added a new distinct exception for failed client authentication
+ when caused by the server rejecting that *type* of auth
+ * added support for multi-part authentication
+ * fixed bug where get_username() wasn't working in server mode
+
+v1.0 (jigglypuff) 06nov04
+-------------------------
+ * fixed bug that broke server-mode authentication by private key
+ * fixed bug where closing a Channel could end up killing the entire
+ Transport
+ * actually include demo_windows.py this time (oops!)
+ * fixed recently-introduced bug in group-exchange key negotiation that
+ would generate the wrong hash (and therefore fail the initial handshake)
+ * server-mode subsystem handler is a bit more flexible
+
+v0.9 (ivysaur) 22oct04
+----------------------
+ * new ServerInterface class for implementing server policy, so it's no
+ longer necessary to subclass Transport or Channel -- server code will
+ need to be updated to follow this new API! (see demo_server.py)
+ * some bugfixes for re-keying an active session
+ * Transport.get_security_options() allows fine-tuned control over the
+ crypto negotiation on a new session
+ * Transport.connect() takes a single hostkey object now instead of two
+ string parameters
+ * the Channel request methods (like 'exec_command') now return True on
+ success or False on failure
+ * added a mechanism for providing subsystems in server mode (and a new
+ class to be subclassed: SubsystemHandler)
+ * renamed SFTP -> SFTPClient (but left an alias for existing code)
+ * added SFTPClient.normalize() to resolve paths on the server
+ * fleshed out the API a bit more for SFTPClient and private keys
+ * a bunch of new unit tests!
+
+v0.9 (horsea) 27jun04
+---------------------
+ * fixed a lockup that could happen if the channel was closed while the
+ send window was full
+ * better checking of maximum packet sizes
+ * better line buffering for file objects
+ * now chops sftp requests into smaller packets for some older servers
+ * more sftp unit tests
+
+v0.9 (gyarados) 31may04
+-----------------------
+ * Transport.open_channel() -- supports local & remote port forwarding now
+ * now imports UTF-8 encodings explicitly as a hint to "freeze" utilities
+ * no longer rejects older SFTP servers
+ * default packet size bumped to 8kB
+ * fixed deadlock in closing a channel
+ * Transport.connect() -- fixed bug where it would always fail when given a
+ host key to verify
+
+v0.9 (fearow) 23apr04
+---------------------
+ * Transport.send_ignore() -- send random ignored bytes
+ * RSAKey/DSSKey added from_private_key_file() as a factory constructor;
+ write_private_key_file() & generate() to create and save ssh2 keys;
+ get_base64() to retrieve the exported public key
+ * Transport added global_request() [client] and check_global_request()
+ [server]
+ * Transport.get_remove_server_key() now returns a PKey object instead of a
+ tuple of strings
+ * Transport.get_username() -- return the username you auth'd as [client]
+ * Transport.set_keepalive() -- makes paramiko send periodic junk packets
+ to the remote host, to keep the session active
+ * python 2.2 support (thanks to Roger Binns)
+ * misc. bug fixes
+
+v0.9 (eevee) 08mar04
+--------------------
+
+v0.9 (doduo) 04jan04
+--------------------
+
+v0.1 (charmander) 10nov03
+-------------------------
+
+v0.1 (bulbasaur) 18sep03
+------------------------
+
+v0.1 (aerodactyl) 13sep03
+-------------------------
diff --git a/NOTES b/NOTES
new file mode 100644
index 0000000..e84f99c
--- /dev/null
+++ b/NOTES
@@ -0,0 +1,13 @@
+
+ +-------------------+ +-----------------+
+(Socket)InputStream ---> | ssh2 transport | <===> | ssh2 channel |
+(Socket)OutputStream --> | (auth, pipe) | N | (buffer) |
+ +-------------------+ +-----------------+
+ @ feeder thread | |
+ - read InputStream | +-> InputStream
+ - feed into channel +---> OutputStream
+ buffers
+
+SIS <-- @ --> (parse, find chan) --> ssh2 chan: buffer <-- SSHInputStream
+SSHOutputStream --> ssh2 chan --> ssh2 transport --> SOS [no thread]
+
diff --git a/PKG-INFO b/PKG-INFO
deleted file mode 100644
index 319f1c5..0000000
--- a/PKG-INFO
+++ /dev/null
@@ -1,24 +0,0 @@
-Metadata-Version: 1.0
-Name: paramiko
-Version: 1.7.7.1
-Summary: SSH2 protocol library
-Home-page: http://www.lag.net/paramiko/
-Author: Robey Pointer
-Author-email: robeypointer@gmail.com
-License: LGPL
-Description:
- This is a library for making SSH2 connections (client or server).
- Emphasis is on using SSH2 as an alternative to SSL for making secure
- connections between python scripts. All major ciphers and hash methods
- are supported. SFTP client and server mode are both supported too.
-
- Required packages:
- pyCrypto
-
-Platform: Posix; MacOS X; Windows
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
-Classifier: Operating System :: OS Independent
-Classifier: Topic :: Internet
-Classifier: Topic :: Security :: Cryptography
diff --git a/README b/README
index f977c6d..68e7434 100644
--- a/README
+++ b/README
@@ -5,21 +5,16 @@ paramiko
:Paramiko: Python SSH module
:Copyright: Copyright (c) 2003-2009 Robey Pointer <robeypointer@gmail.com>
+:Copyright: Copyright (c) 2013 Jeff Forcier <jeff@bitprophet.org>
:License: LGPL
-:Homepage: http://www.lag.net/paramiko/
-
-
-paramiko 1.7.7.1
-================
-
-"George" release, 21 may 2011
+:Homepage: https://github.com/paramiko/paramiko/
What
----
"paramiko" is a combination of the esperanto words for "paranoid" and
-"friend". it's a module for python 2.2+ that implements the SSH2 protocol
+"friend". it's a module for python 2.5+ that implements the SSH2 protocol
for secure (encrypted and authenticated) connections to remote machines.
unlike SSL (aka TLS), SSH2 protocol does not require hierarchical
certificates signed by a powerful central authority. you may know SSH2 as
@@ -38,8 +33,7 @@ that should have come with this archive.
Requirements
------------
- - python 2.3 or better <http://www.python.org/>
- (python 2.2 is also supported, but not recommended)
+ - python 2.5 or better <http://www.python.org/>
- pycrypto 2.1 or better <https://www.dlitz.net/software/pycrypto/>
If you have setuptools, you can build and install paramiko and all its
@@ -57,19 +51,6 @@ should also work on Windows, though i don't test it as frequently there.
if you run into Windows problems, send me a patch: portability is important
to me.
-python 2.2 may work, thanks to some patches from Roger Binns. things to
-watch out for:
-
- * sockets in 2.2 don't support timeouts, so the 'select' module is
- imported to do polling.
- * logging is mostly stubbed out. it works just enough to let paramiko
- create log files for debugging, if you want them. to get real logging,
- you can backport python 2.3's logging package. Roger has done that
- already:
- http://sourceforge.net/project/showfiles.php?group_id=75211&package_id=113804
-
-you really should upgrade to python 2.3. laziness is no excuse! :)
-
some python distributions don't include the utf-8 string encodings, for
reasons of space (misdirected as that is). if your distribution is
missing encodings, you'll see an error like this::
@@ -85,15 +66,7 @@ installs.) Valeriy Pogrebitskiy says the best place to look is
Bugs & Support
--------------
-there's a launchpage page for paramiko, with a bug tracker:
-
- https://launchpad.net/paramiko/
-
-this is the primary place to file and browse bug reports.
-
-there's also a low-traffic mailing list for support and discussions:
-
- http://www.lag.net/mailman/listinfo/paramiko
+Please file bug reports at https://github.com/paramiko/paramiko/. There is currently no mailing list but we plan to create a new one ASAP.
Demo
@@ -141,6 +114,9 @@ the following example scripts (in demos/) get progressively more detailed:
'robey' (password 'foo'), and pretends to be a BBS. meant to be a
very simple demo of writing an ssh server.
+:demo_keygen.py:
+ an key generator similar to openssh ssh-keygen(1) program with
+ paramiko keys generation and progress functions.
Use
---
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..4bda14a
--- /dev/null
+++ b/TODO
@@ -0,0 +1,3 @@
+* Change license to BSD for v1.8 (obtain permission from Robey)
+* Pending that, remove preamble from all files, ensure LICENSE is still correct
+* Update version stuff: use an execfile'd paramiko/_version.py
diff --git a/demos/demo_keygen.py b/demos/demo_keygen.py
new file mode 100755
index 0000000..b4ce5b8
--- /dev/null
+++ b/demos/demo_keygen.py
@@ -0,0 +1,127 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2010 Sofian Brabez <sbz@6dev.net>
+#
+# This file is part of paramiko.
+#
+# Paramiko is free software; you can redistribute it and/or modify it under the
+# terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; either version 2.1 of the License, or (at your option)
+# any later version.
+#
+# Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with Paramiko; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+from __future__ import with_statement
+
+import string
+import sys
+
+from binascii import hexlify
+from optparse import OptionParser
+
+from paramiko import DSSKey
+from paramiko import RSAKey
+from paramiko.ssh_exception import SSHException
+
+usage="""
+%prog [-v] [-b bits] -t type [-N new_passphrase] [-f output_keyfile]"""
+
+default_values = {
+ "ktype": "dsa",
+ "bits": 1024,
+ "filename": "output",
+ "comment": ""
+}
+
+key_dispatch_table = {
+ 'dsa': DSSKey,
+ 'rsa': RSAKey,
+}
+
+def progress(arg=None):
+
+ if not arg:
+ print '0%\x08\x08\x08',
+ sys.stdout.flush()
+ elif arg[0] == 'p':
+ print '25%\x08\x08\x08\x08',
+ sys.stdout.flush()
+ elif arg[0] == 'h':
+ print '50%\x08\x08\x08\x08',
+ sys.stdout.flush()
+ elif arg[0] == 'x':
+ print '75%\x08\x08\x08\x08',
+ sys.stdout.flush()
+
+if __name__ == '__main__':
+
+ phrase=None
+ pfunc=None
+
+ parser = OptionParser(usage=usage)
+ parser.add_option("-t", "--type", type="string", dest="ktype",
+ help="Specify type of key to create (dsa or rsa)",
+ metavar="ktype", default=default_values["ktype"])
+ parser.add_option("-b", "--bits", type="int", dest="bits",
+ help="Number of bits in the key to create", metavar="bits",
+ default=default_values["bits"])
+ parser.add_option("-N", "--new-passphrase", dest="newphrase",
+ help="Provide new passphrase", metavar="phrase")
+ parser.add_option("-P", "--old-passphrase", dest="oldphrase",
+ help="Provide old passphrase", metavar="phrase")
+ parser.add_option("-f", "--filename", type="string", dest="filename",
+ help="Filename of the key file", metavar="filename",
+ default=default_values["filename"])
+ parser.add_option("-q", "--quiet", default=False, action="store_false",
+ help="Quiet")
+ parser.add_option("-v", "--verbose", default=False, action="store_true",
+ help="Verbose")
+ parser.add_option("-C", "--comment", type="string", dest="comment",
+ help="Provide a new comment", metavar="comment",
+ default=default_values["comment"])
+
+ (options, args) = parser.parse_args()
+
+ if len(sys.argv) == 1:
+ parser.print_help()
+ sys.exit(0)
+
+ for o in default_values.keys():
+ globals()[o] = getattr(options, o, default_values[string.lower(o)])
+
+ if options.newphrase:
+ phrase = getattr(options, 'newphrase')
+
+ if options.verbose:
+ pfunc = progress
+ sys.stdout.write("Generating priv/pub %s %d bits key pair (%s/%s.pub)..." % (ktype, bits, filename, filename))
+ sys.stdout.flush()
+
+ if ktype == 'dsa' and bits > 1024:
+ raise SSHException("DSA Keys must be 1024 bits")
+
+ if not key_dispatch_table.has_key(ktype):
+ raise SSHException("Unknown %s algorithm to generate keys pair" % ktype)
+
+ # generating private key
+ prv = key_dispatch_table[ktype].generate(bits=bits, progress_func=pfunc)
+ prv.write_private_key_file(filename, password=phrase)
+
+ # generating public key
+ pub = key_dispatch_table[ktype](filename=filename, password=phrase)
+ with open("%s.pub" % filename, 'w') as f:
+ f.write("%s %s" % (pub.get_name(), pub.get_base64()))
+ if options.comment:
+ f.write(" %s" % comment)
+
+ if options.verbose:
+ print "done."
+
+ hash = hexlify(pub.get_fingerprint())
+ print "Fingerprint: %d %s %s.pub (%s)" % (bits, ":".join([ hash[i:2+i] for i in range(0, len(hash), 2)]), filename, string.upper(ktype))
diff --git a/docs/api-objects.txt b/docs/api-objects.txt
deleted file mode 100644
index 8b62260..0000000
--- a/docs/api-objects.txt
+++ /dev/null
@@ -1,2202 +0,0 @@
-paramiko paramiko-module.html
-paramiko.__package__ paramiko-module.html#__package__
-paramiko.__license__ paramiko-module.html#__license__
-paramiko.__version_info__ paramiko-module.html#__version_info__
-paramiko.__author__ paramiko-module.html#__author__
-paramiko.__version__ paramiko-module.html#__version__
-paramiko.agent paramiko.agent-module.html
-paramiko.agent.SSH2_AGENT_IDENTITIES_ANSWER paramiko.agent-module.html#SSH2_AGENT_IDENTITIES_ANSWER
-paramiko.agent.SSH2_AGENTC_REQUEST_IDENTITIES paramiko.agent-module.html#SSH2_AGENTC_REQUEST_IDENTITIES
-paramiko.agent.SSH2_AGENTC_SIGN_REQUEST paramiko.agent-module.html#SSH2_AGENTC_SIGN_REQUEST
-paramiko.agent.__package__ paramiko.agent-module.html#__package__
-paramiko.agent.SSH2_AGENT_SIGN_RESPONSE paramiko.agent-module.html#SSH2_AGENT_SIGN_RESPONSE
-paramiko.auth_handler paramiko.auth_handler-module.html
-paramiko.auth_handler.AUTH_SUCCESSFUL paramiko.auth_handler-module.html#AUTH_SUCCESSFUL
-paramiko.auth_handler.MSG_KEXINIT paramiko.auth_handler-module.html#MSG_KEXINIT
-paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST paramiko.auth_handler-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.auth_handler.MSG_CHANNEL_REQUEST paramiko.auth_handler-module.html#MSG_CHANNEL_REQUEST
-paramiko.auth_handler.MSG_NAMES paramiko.auth_handler-module.html#MSG_NAMES
-paramiko.auth_handler.MSG_CHANNEL_OPEN paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN
-paramiko.auth_handler.MSG_DISCONNECT paramiko.auth_handler-module.html#MSG_DISCONNECT
-paramiko.auth_handler.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.auth_handler-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.auth_handler.MSG_SERVICE_ACCEPT paramiko.auth_handler-module.html#MSG_SERVICE_ACCEPT
-paramiko.auth_handler.MSG_IGNORE paramiko.auth_handler-module.html#MSG_IGNORE
-paramiko.auth_handler.WARNING paramiko.auth_handler-module.html#WARNING
-paramiko.auth_handler.MSG_GLOBAL_REQUEST paramiko.auth_handler-module.html#MSG_GLOBAL_REQUEST
-paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.auth_handler.AUTH_FAILED paramiko.auth_handler-module.html#AUTH_FAILED
-paramiko.auth_handler.MSG_CHANNEL_SUCCESS paramiko.auth_handler-module.html#MSG_CHANNEL_SUCCESS
-paramiko.auth_handler.MSG_USERAUTH_FAILURE paramiko.auth_handler-module.html#MSG_USERAUTH_FAILURE
-paramiko.auth_handler.MSG_REQUEST_FAILURE paramiko.auth_handler-module.html#MSG_REQUEST_FAILURE
-paramiko.auth_handler.__package__ paramiko.auth_handler-module.html#__package__
-paramiko.auth_handler.MSG_CHANNEL_DATA paramiko.auth_handler-module.html#MSG_CHANNEL_DATA
-paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL paramiko.auth_handler-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.auth_handler-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.auth_handler.MSG_UNIMPLEMENTED paramiko.auth_handler-module.html#MSG_UNIMPLEMENTED
-paramiko.auth_handler.CRITICAL paramiko.auth_handler-module.html#CRITICAL
-paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.auth_handler.MSG_USERAUTH_INFO_REQUEST paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.auth_handler.MSG_DEBUG paramiko.auth_handler-module.html#MSG_DEBUG
-paramiko.auth_handler.MSG_CHANNEL_FAILURE paramiko.auth_handler-module.html#MSG_CHANNEL_FAILURE
-paramiko.auth_handler.OPEN_SUCCEEDED paramiko.auth_handler-module.html#OPEN_SUCCEEDED
-paramiko.auth_handler.rng paramiko.auth_handler-module.html#rng
-paramiko.auth_handler.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.auth_handler-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.auth_handler.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.auth_handler-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.auth_handler.ERROR paramiko.auth_handler-module.html#ERROR
-paramiko.auth_handler.DEBUG paramiko.auth_handler-module.html#DEBUG
-paramiko.auth_handler.MSG_REQUEST_SUCCESS paramiko.auth_handler-module.html#MSG_REQUEST_SUCCESS
-paramiko.auth_handler.OPEN_FAILED_CONNECT_FAILED paramiko.auth_handler-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.auth_handler.INFO paramiko.auth_handler-module.html#INFO
-paramiko.auth_handler.MSG_USERAUTH_BANNER paramiko.auth_handler-module.html#MSG_USERAUTH_BANNER
-paramiko.auth_handler.MSG_NEWKEYS paramiko.auth_handler-module.html#MSG_NEWKEYS
-paramiko.auth_handler.MSG_USERAUTH_PK_OK paramiko.auth_handler-module.html#MSG_USERAUTH_PK_OK
-paramiko.auth_handler.MSG_USERAUTH_REQUEST paramiko.auth_handler-module.html#MSG_USERAUTH_REQUEST
-paramiko.auth_handler.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.auth_handler-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.auth_handler.PY22 paramiko.auth_handler-module.html#PY22
-paramiko.auth_handler.MSG_SERVICE_REQUEST paramiko.auth_handler-module.html#MSG_SERVICE_REQUEST
-paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA paramiko.auth_handler-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.auth_handler.MSG_CHANNEL_CLOSE paramiko.auth_handler-module.html#MSG_CHANNEL_CLOSE
-paramiko.auth_handler.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.auth_handler-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.auth_handler.MSG_CHANNEL_EOF paramiko.auth_handler-module.html#MSG_CHANNEL_EOF
-paramiko.auth_handler.MSG_USERAUTH_SUCCESS paramiko.auth_handler-module.html#MSG_USERAUTH_SUCCESS
-paramiko.auth_handler.CONNECTION_FAILED_CODE paramiko.auth_handler-module.html#CONNECTION_FAILED_CODE
-paramiko.ber paramiko.ber-module.html
-paramiko.ber.__package__ paramiko.ber-module.html#__package__
-paramiko.buffered_pipe paramiko.buffered_pipe-module.html
-paramiko.buffered_pipe.__package__ paramiko.buffered_pipe-module.html#__package__
-paramiko.channel paramiko.channel-module.html
-paramiko.channel.AUTH_SUCCESSFUL paramiko.channel-module.html#AUTH_SUCCESSFUL
-paramiko.channel.MSG_KEXINIT paramiko.channel-module.html#MSG_KEXINIT
-paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST paramiko.channel-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.channel.MSG_NAMES paramiko.channel-module.html#MSG_NAMES
-paramiko.channel.MSG_CHANNEL_OPEN paramiko.channel-module.html#MSG_CHANNEL_OPEN
-paramiko.channel.MSG_REQUEST_SUCCESS paramiko.channel-module.html#MSG_REQUEST_SUCCESS
-paramiko.channel.MSG_DISCONNECT paramiko.channel-module.html#MSG_DISCONNECT
-paramiko.channel.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.channel-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.channel.MSG_SERVICE_ACCEPT paramiko.channel-module.html#MSG_SERVICE_ACCEPT
-paramiko.channel.WARNING paramiko.channel-module.html#WARNING
-paramiko.channel.MSG_GLOBAL_REQUEST paramiko.channel-module.html#MSG_GLOBAL_REQUEST
-paramiko.channel.MSG_USERAUTH_INFO_RESPONSE paramiko.channel-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.channel.AUTH_FAILED paramiko.channel-module.html#AUTH_FAILED
-paramiko.channel.MSG_CHANNEL_SUCCESS paramiko.channel-module.html#MSG_CHANNEL_SUCCESS
-paramiko.channel.MSG_USERAUTH_FAILURE paramiko.channel-module.html#MSG_USERAUTH_FAILURE
-paramiko.channel.MSG_REQUEST_FAILURE paramiko.channel-module.html#MSG_REQUEST_FAILURE
-paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.channel-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.channel.__package__ paramiko.channel-module.html#__package__
-paramiko.channel.MSG_CHANNEL_DATA paramiko.channel-module.html#MSG_CHANNEL_DATA
-paramiko.channel.CRITICAL paramiko.channel-module.html#CRITICAL
-paramiko.channel.MSG_IGNORE paramiko.channel-module.html#MSG_IGNORE
-paramiko.channel.MSG_UNIMPLEMENTED paramiko.channel-module.html#MSG_UNIMPLEMENTED
-paramiko.channel.MSG_CHANNEL_REQUEST paramiko.channel-module.html#MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_OPEN_FAILURE paramiko.channel-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.channel.MSG_USERAUTH_INFO_REQUEST paramiko.channel-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.channel.MSG_DEBUG paramiko.channel-module.html#MSG_DEBUG
-paramiko.channel.MSG_CHANNEL_FAILURE paramiko.channel-module.html#MSG_CHANNEL_FAILURE
-paramiko.channel.OPEN_SUCCEEDED paramiko.channel-module.html#OPEN_SUCCEEDED
-paramiko.channel.rng paramiko.channel-module.html#rng
-paramiko.channel.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.channel-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.channel.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.channel-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.channel.ERROR paramiko.channel-module.html#ERROR
-paramiko.channel.DEBUG paramiko.channel-module.html#DEBUG
-paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL paramiko.channel-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.channel.OPEN_FAILED_CONNECT_FAILED paramiko.channel-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.channel.INFO paramiko.channel-module.html#INFO
-paramiko.channel.MSG_USERAUTH_BANNER paramiko.channel-module.html#MSG_USERAUTH_BANNER
-paramiko.channel.MSG_NEWKEYS paramiko.channel-module.html#MSG_NEWKEYS
-paramiko.channel.MSG_USERAUTH_PK_OK paramiko.channel-module.html#MSG_USERAUTH_PK_OK
-paramiko.channel.MSG_USERAUTH_REQUEST paramiko.channel-module.html#MSG_USERAUTH_REQUEST
-paramiko.channel.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.channel-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.channel.MIN_PACKET_SIZE paramiko.channel-module.html#MIN_PACKET_SIZE
-paramiko.channel.PY22 paramiko.channel-module.html#PY22
-paramiko.channel.MSG_SERVICE_REQUEST paramiko.channel-module.html#MSG_SERVICE_REQUEST
-paramiko.channel.MSG_CHANNEL_EXTENDED_DATA paramiko.channel-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.channel.MSG_CHANNEL_CLOSE paramiko.channel-module.html#MSG_CHANNEL_CLOSE
-paramiko.channel.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.channel-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS paramiko.channel-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.channel.MSG_CHANNEL_EOF paramiko.channel-module.html#MSG_CHANNEL_EOF
-paramiko.channel.MSG_USERAUTH_SUCCESS paramiko.channel-module.html#MSG_USERAUTH_SUCCESS
-paramiko.channel.CONNECTION_FAILED_CODE paramiko.channel-module.html#CONNECTION_FAILED_CODE
-paramiko.client paramiko.client-module.html
-paramiko.client.AUTH_SUCCESSFUL paramiko.client-module.html#AUTH_SUCCESSFUL
-paramiko.client.MSG_CHANNEL_OPEN_FAILURE paramiko.client-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.client.MSG_CHANNEL_WINDOW_ADJUST paramiko.client-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.client.MSG_CHANNEL_REQUEST paramiko.client-module.html#MSG_CHANNEL_REQUEST
-paramiko.client.MSG_NAMES paramiko.client-module.html#MSG_NAMES
-paramiko.client.MSG_REQUEST_FAILURE paramiko.client-module.html#MSG_REQUEST_FAILURE
-paramiko.client.MSG_CHANNEL_OPEN paramiko.client-module.html#MSG_CHANNEL_OPEN
-paramiko.client.MSG_SERVICE_REQUEST paramiko.client-module.html#MSG_SERVICE_REQUEST
-paramiko.client.__package__ paramiko.client-module.html#__package__
-paramiko.client.MSG_DISCONNECT paramiko.client-module.html#MSG_DISCONNECT
-paramiko.client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.client.MSG_SERVICE_ACCEPT paramiko.client-module.html#MSG_SERVICE_ACCEPT
-paramiko.client.SSH_PORT paramiko.client-module.html#SSH_PORT
-paramiko.client.MSG_IGNORE paramiko.client-module.html#MSG_IGNORE
-paramiko.client.WARNING paramiko.client-module.html#WARNING
-paramiko.client.MSG_GLOBAL_REQUEST paramiko.client-module.html#MSG_GLOBAL_REQUEST
-paramiko.client.MSG_CHANNEL_SUCCESS paramiko.client-module.html#MSG_CHANNEL_SUCCESS
-paramiko.client.MSG_USERAUTH_FAILURE paramiko.client-module.html#MSG_USERAUTH_FAILURE
-paramiko.client.MSG_KEXINIT paramiko.client-module.html#MSG_KEXINIT
-paramiko.client.MSG_CHANNEL_DATA paramiko.client-module.html#MSG_CHANNEL_DATA
-paramiko.client.AUTH_PARTIALLY_SUCCESSFUL paramiko.client-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.client.MSG_UNIMPLEMENTED paramiko.client-module.html#MSG_UNIMPLEMENTED
-paramiko.client.CRITICAL paramiko.client-module.html#CRITICAL
-paramiko.client.MSG_USERAUTH_INFO_REQUEST paramiko.client-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.client.MSG_DEBUG paramiko.client-module.html#MSG_DEBUG
-paramiko.client.MSG_CHANNEL_FAILURE paramiko.client-module.html#MSG_CHANNEL_FAILURE
-paramiko.client.OPEN_SUCCEEDED paramiko.client-module.html#OPEN_SUCCEEDED
-paramiko.client.rng paramiko.client-module.html#rng
-paramiko.client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.client.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.client.ERROR paramiko.client-module.html#ERROR
-paramiko.client.DEBUG paramiko.client-module.html#DEBUG
-paramiko.client.MSG_USERAUTH_INFO_RESPONSE paramiko.client-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.client.MSG_REQUEST_SUCCESS paramiko.client-module.html#MSG_REQUEST_SUCCESS
-paramiko.client.OPEN_FAILED_CONNECT_FAILED paramiko.client-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.client.INFO paramiko.client-module.html#INFO
-paramiko.client.MSG_USERAUTH_BANNER paramiko.client-module.html#MSG_USERAUTH_BANNER
-paramiko.client.MSG_NEWKEYS paramiko.client-module.html#MSG_NEWKEYS
-paramiko.client.MSG_USERAUTH_PK_OK paramiko.client-module.html#MSG_USERAUTH_PK_OK
-paramiko.client.MSG_USERAUTH_REQUEST paramiko.client-module.html#MSG_USERAUTH_REQUEST
-paramiko.client.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.client.PY22 paramiko.client-module.html#PY22
-paramiko.client.AUTH_FAILED paramiko.client-module.html#AUTH_FAILED
-paramiko.client.MSG_CHANNEL_EXTENDED_DATA paramiko.client-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.client.MSG_CHANNEL_CLOSE paramiko.client-module.html#MSG_CHANNEL_CLOSE
-paramiko.client.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.client-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.client.MSG_CHANNEL_OPEN_SUCCESS paramiko.client-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.client.MSG_CHANNEL_EOF paramiko.client-module.html#MSG_CHANNEL_EOF
-paramiko.client.MSG_USERAUTH_SUCCESS paramiko.client-module.html#MSG_USERAUTH_SUCCESS
-paramiko.client.CONNECTION_FAILED_CODE paramiko.client-module.html#CONNECTION_FAILED_CODE
-paramiko.common paramiko.common-module.html
-paramiko.common.AUTH_SUCCESSFUL paramiko.common-module.html#AUTH_SUCCESSFUL
-paramiko.common.MSG_KEXINIT paramiko.common-module.html#MSG_KEXINIT
-paramiko.common.MSG_CHANNEL_WINDOW_ADJUST paramiko.common-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.common.MSG_CHANNEL_REQUEST paramiko.common-module.html#MSG_CHANNEL_REQUEST
-paramiko.common.MSG_NAMES paramiko.common-module.html#MSG_NAMES
-paramiko.common.MSG_CHANNEL_OPEN paramiko.common-module.html#MSG_CHANNEL_OPEN
-paramiko.common.MSG_REQUEST_SUCCESS paramiko.common-module.html#MSG_REQUEST_SUCCESS
-paramiko.common.MSG_DISCONNECT paramiko.common-module.html#MSG_DISCONNECT
-paramiko.common.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.common-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.common.MSG_SERVICE_ACCEPT paramiko.common-module.html#MSG_SERVICE_ACCEPT
-paramiko.common.MSG_IGNORE paramiko.common-module.html#MSG_IGNORE
-paramiko.common.MSG_GLOBAL_REQUEST paramiko.common-module.html#MSG_GLOBAL_REQUEST
-paramiko.common.MSG_USERAUTH_INFO_RESPONSE paramiko.common-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.common.MSG_CHANNEL_SUCCESS paramiko.common-module.html#MSG_CHANNEL_SUCCESS
-paramiko.common.MSG_USERAUTH_FAILURE paramiko.common-module.html#MSG_USERAUTH_FAILURE
-paramiko.common.MSG_REQUEST_FAILURE paramiko.common-module.html#MSG_REQUEST_FAILURE
-paramiko.common.__package__ paramiko.common-module.html#__package__
-paramiko.common.MSG_CHANNEL_DATA paramiko.common-module.html#MSG_CHANNEL_DATA
-paramiko.common.CRITICAL paramiko.common-module.html#CRITICAL
-paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.common-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.common.MSG_UNIMPLEMENTED paramiko.common-module.html#MSG_UNIMPLEMENTED
-paramiko.common.MSG_CHANNEL_OPEN_FAILURE paramiko.common-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.common.MSG_USERAUTH_INFO_REQUEST paramiko.common-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.common.MSG_DEBUG paramiko.common-module.html#MSG_DEBUG
-paramiko.common.MSG_CHANNEL_FAILURE paramiko.common-module.html#MSG_CHANNEL_FAILURE
-paramiko.common.OPEN_SUCCEEDED paramiko.common-module.html#OPEN_SUCCEEDED
-paramiko.common.rng paramiko.common-module.html#rng
-paramiko.common.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.common-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.common.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.common-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.common.ERROR paramiko.common-module.html#ERROR
-paramiko.common.DEBUG paramiko.common-module.html#DEBUG
-paramiko.common.AUTH_PARTIALLY_SUCCESSFUL paramiko.common-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.common.OPEN_FAILED_CONNECT_FAILED paramiko.common-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.common.INFO paramiko.common-module.html#INFO
-paramiko.common.MSG_USERAUTH_BANNER paramiko.common-module.html#MSG_USERAUTH_BANNER
-paramiko.common.MSG_NEWKEYS paramiko.common-module.html#MSG_NEWKEYS
-paramiko.common.MSG_USERAUTH_PK_OK paramiko.common-module.html#MSG_USERAUTH_PK_OK
-paramiko.common.WARNING paramiko.common-module.html#WARNING
-paramiko.common.MSG_USERAUTH_REQUEST paramiko.common-module.html#MSG_USERAUTH_REQUEST
-paramiko.common.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.common-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.common.PY22 paramiko.common-module.html#PY22
-paramiko.common.MSG_SERVICE_REQUEST paramiko.common-module.html#MSG_SERVICE_REQUEST
-paramiko.common.AUTH_FAILED paramiko.common-module.html#AUTH_FAILED
-paramiko.common.MSG_CHANNEL_EXTENDED_DATA paramiko.common-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.common.MSG_CHANNEL_CLOSE paramiko.common-module.html#MSG_CHANNEL_CLOSE
-paramiko.common.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.common-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.common.MSG_CHANNEL_OPEN_SUCCESS paramiko.common-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.common.MSG_CHANNEL_EOF paramiko.common-module.html#MSG_CHANNEL_EOF
-paramiko.common.MSG_USERAUTH_SUCCESS paramiko.common-module.html#MSG_USERAUTH_SUCCESS
-paramiko.common.CONNECTION_FAILED_CODE paramiko.common-module.html#CONNECTION_FAILED_CODE
-paramiko.compress paramiko.compress-module.html
-paramiko.compress.__package__ paramiko.compress-module.html#__package__
-paramiko.config paramiko.config-module.html
-paramiko.config.__package__ paramiko.config-module.html#__package__
-paramiko.dsskey paramiko.dsskey-module.html
-paramiko.dsskey.AUTH_SUCCESSFUL paramiko.dsskey-module.html#AUTH_SUCCESSFUL
-paramiko.dsskey.MSG_KEXINIT paramiko.dsskey-module.html#MSG_KEXINIT
-paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST paramiko.dsskey-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.dsskey.MSG_CHANNEL_REQUEST paramiko.dsskey-module.html#MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_NAMES paramiko.dsskey-module.html#MSG_NAMES
-paramiko.dsskey.MSG_REQUEST_FAILURE paramiko.dsskey-module.html#MSG_REQUEST_FAILURE
-paramiko.dsskey.MSG_CHANNEL_OPEN paramiko.dsskey-module.html#MSG_CHANNEL_OPEN
-paramiko.dsskey.MSG_REQUEST_SUCCESS paramiko.dsskey-module.html#MSG_REQUEST_SUCCESS
-paramiko.dsskey.MSG_DISCONNECT paramiko.dsskey-module.html#MSG_DISCONNECT
-paramiko.dsskey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.dsskey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.dsskey.MSG_SERVICE_ACCEPT paramiko.dsskey-module.html#MSG_SERVICE_ACCEPT
-paramiko.dsskey.MSG_IGNORE paramiko.dsskey-module.html#MSG_IGNORE
-paramiko.dsskey.WARNING paramiko.dsskey-module.html#WARNING
-paramiko.dsskey.MSG_GLOBAL_REQUEST paramiko.dsskey-module.html#MSG_GLOBAL_REQUEST
-paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE paramiko.dsskey-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.dsskey.MSG_CHANNEL_SUCCESS paramiko.dsskey-module.html#MSG_CHANNEL_SUCCESS
-paramiko.dsskey.MSG_USERAUTH_FAILURE paramiko.dsskey-module.html#MSG_USERAUTH_FAILURE
-paramiko.dsskey.__package__ paramiko.dsskey-module.html#__package__
-paramiko.dsskey.MSG_CHANNEL_DATA paramiko.dsskey-module.html#MSG_CHANNEL_DATA
-paramiko.dsskey.CRITICAL paramiko.dsskey-module.html#CRITICAL
-paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.dsskey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.dsskey.MSG_UNIMPLEMENTED paramiko.dsskey-module.html#MSG_UNIMPLEMENTED
-paramiko.dsskey.OPEN_FAILED_CONNECT_FAILED paramiko.dsskey-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.dsskey.MSG_USERAUTH_INFO_REQUEST paramiko.dsskey-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.dsskey.MSG_DEBUG paramiko.dsskey-module.html#MSG_DEBUG
-paramiko.dsskey.MSG_CHANNEL_FAILURE paramiko.dsskey-module.html#MSG_CHANNEL_FAILURE
-paramiko.dsskey.OPEN_SUCCEEDED paramiko.dsskey-module.html#OPEN_SUCCEEDED
-paramiko.dsskey.rng paramiko.dsskey-module.html#rng
-paramiko.dsskey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.dsskey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.dsskey.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.dsskey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.dsskey.ERROR paramiko.dsskey-module.html#ERROR
-paramiko.dsskey.DEBUG paramiko.dsskey-module.html#DEBUG
-paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL paramiko.dsskey-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.dsskey.INFO paramiko.dsskey-module.html#INFO
-paramiko.dsskey.MSG_USERAUTH_BANNER paramiko.dsskey-module.html#MSG_USERAUTH_BANNER
-paramiko.dsskey.MSG_NEWKEYS paramiko.dsskey-module.html#MSG_NEWKEYS
-paramiko.dsskey.MSG_USERAUTH_PK_OK paramiko.dsskey-module.html#MSG_USERAUTH_PK_OK
-paramiko.dsskey.MSG_USERAUTH_REQUEST paramiko.dsskey-module.html#MSG_USERAUTH_REQUEST
-paramiko.dsskey.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.dsskey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.dsskey.PY22 paramiko.dsskey-module.html#PY22
-paramiko.dsskey.MSG_SERVICE_REQUEST paramiko.dsskey-module.html#MSG_SERVICE_REQUEST
-paramiko.dsskey.AUTH_FAILED paramiko.dsskey-module.html#AUTH_FAILED
-paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA paramiko.dsskey-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.dsskey.MSG_CHANNEL_CLOSE paramiko.dsskey-module.html#MSG_CHANNEL_CLOSE
-paramiko.dsskey.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.dsskey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_EOF paramiko.dsskey-module.html#MSG_CHANNEL_EOF
-paramiko.dsskey.MSG_USERAUTH_SUCCESS paramiko.dsskey-module.html#MSG_USERAUTH_SUCCESS
-paramiko.dsskey.CONNECTION_FAILED_CODE paramiko.dsskey-module.html#CONNECTION_FAILED_CODE
-paramiko.file paramiko.file-module.html
-paramiko.file.__package__ paramiko.file-module.html#__package__
-paramiko.hostkeys paramiko.hostkeys-module.html
-paramiko.hostkeys.AUTH_SUCCESSFUL paramiko.hostkeys-module.html#AUTH_SUCCESSFUL
-paramiko.hostkeys.MSG_KEXINIT paramiko.hostkeys-module.html#MSG_KEXINIT
-paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST paramiko.hostkeys-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST paramiko.hostkeys-module.html#MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_NAMES paramiko.hostkeys-module.html#MSG_NAMES
-paramiko.hostkeys.MSG_REQUEST_FAILURE paramiko.hostkeys-module.html#MSG_REQUEST_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_OPEN paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN
-paramiko.hostkeys.MSG_REQUEST_SUCCESS paramiko.hostkeys-module.html#MSG_REQUEST_SUCCESS
-paramiko.hostkeys.MSG_DISCONNECT paramiko.hostkeys-module.html#MSG_DISCONNECT
-paramiko.hostkeys.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.hostkeys-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.hostkeys.MSG_SERVICE_ACCEPT paramiko.hostkeys-module.html#MSG_SERVICE_ACCEPT
-paramiko.hostkeys.MSG_IGNORE paramiko.hostkeys-module.html#MSG_IGNORE
-paramiko.hostkeys.MSG_GLOBAL_REQUEST paramiko.hostkeys-module.html#MSG_GLOBAL_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.hostkeys.MSG_CHANNEL_SUCCESS paramiko.hostkeys-module.html#MSG_CHANNEL_SUCCESS
-paramiko.hostkeys.MSG_USERAUTH_FAILURE paramiko.hostkeys-module.html#MSG_USERAUTH_FAILURE
-paramiko.hostkeys.__package__ paramiko.hostkeys-module.html#__package__
-paramiko.hostkeys.MSG_CHANNEL_DATA paramiko.hostkeys-module.html#MSG_CHANNEL_DATA
-paramiko.hostkeys.CRITICAL paramiko.hostkeys-module.html#CRITICAL
-paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.hostkeys-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.hostkeys.MSG_UNIMPLEMENTED paramiko.hostkeys-module.html#MSG_UNIMPLEMENTED
-paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.hostkeys.MSG_USERAUTH_INFO_REQUEST paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.hostkeys.MSG_DEBUG paramiko.hostkeys-module.html#MSG_DEBUG
-paramiko.hostkeys.MSG_CHANNEL_FAILURE paramiko.hostkeys-module.html#MSG_CHANNEL_FAILURE
-paramiko.hostkeys.OPEN_SUCCEEDED paramiko.hostkeys-module.html#OPEN_SUCCEEDED
-paramiko.hostkeys.rng paramiko.hostkeys-module.html#rng
-paramiko.hostkeys.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.hostkeys-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.hostkeys.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.hostkeys-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.hostkeys.ERROR paramiko.hostkeys-module.html#ERROR
-paramiko.hostkeys.DEBUG paramiko.hostkeys-module.html#DEBUG
-paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL paramiko.hostkeys-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.hostkeys.OPEN_FAILED_CONNECT_FAILED paramiko.hostkeys-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.hostkeys.INFO paramiko.hostkeys-module.html#INFO
-paramiko.hostkeys.MSG_USERAUTH_BANNER paramiko.hostkeys-module.html#MSG_USERAUTH_BANNER
-paramiko.hostkeys.MSG_NEWKEYS paramiko.hostkeys-module.html#MSG_NEWKEYS
-paramiko.hostkeys.MSG_USERAUTH_PK_OK paramiko.hostkeys-module.html#MSG_USERAUTH_PK_OK
-paramiko.hostkeys.WARNING paramiko.hostkeys-module.html#WARNING
-paramiko.hostkeys.MSG_USERAUTH_REQUEST paramiko.hostkeys-module.html#MSG_USERAUTH_REQUEST
-paramiko.hostkeys.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.hostkeys-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.hostkeys.PY22 paramiko.hostkeys-module.html#PY22
-paramiko.hostkeys.MSG_SERVICE_REQUEST paramiko.hostkeys-module.html#MSG_SERVICE_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_SUCCESS paramiko.hostkeys-module.html#MSG_USERAUTH_SUCCESS
-paramiko.hostkeys.AUTH_FAILED paramiko.hostkeys-module.html#AUTH_FAILED
-paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA paramiko.hostkeys-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.hostkeys.MSG_CHANNEL_CLOSE paramiko.hostkeys-module.html#MSG_CHANNEL_CLOSE
-paramiko.hostkeys.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.hostkeys-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_EOF paramiko.hostkeys-module.html#MSG_CHANNEL_EOF
-paramiko.hostkeys.CONNECTION_FAILED_CODE paramiko.hostkeys-module.html#CONNECTION_FAILED_CODE
-paramiko.kex_gex paramiko.kex_gex-module.html
-paramiko.kex_gex.AUTH_SUCCESSFUL paramiko.kex_gex-module.html#AUTH_SUCCESSFUL
-paramiko.kex_gex.MSG_KEXINIT paramiko.kex_gex-module.html#MSG_KEXINIT
-paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST paramiko.kex_gex-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST paramiko.kex_gex-module.html#MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_NAMES paramiko.kex_gex-module.html#MSG_NAMES
-paramiko.kex_gex.MSG_CHANNEL_OPEN paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN
-paramiko.kex_gex.MSG_REQUEST_SUCCESS paramiko.kex_gex-module.html#MSG_REQUEST_SUCCESS
-paramiko.kex_gex.MSG_DISCONNECT paramiko.kex_gex-module.html#MSG_DISCONNECT
-paramiko.kex_gex.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.kex_gex-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.kex_gex.MSG_SERVICE_ACCEPT paramiko.kex_gex-module.html#MSG_SERVICE_ACCEPT
-paramiko.kex_gex.MSG_IGNORE paramiko.kex_gex-module.html#MSG_IGNORE
-paramiko.kex_gex.rng paramiko.kex_gex-module.html#rng
-paramiko.kex_gex.WARNING paramiko.kex_gex-module.html#WARNING
-paramiko.kex_gex.MSG_GLOBAL_REQUEST paramiko.kex_gex-module.html#MSG_GLOBAL_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_gex.MSG_CHANNEL_SUCCESS paramiko.kex_gex-module.html#MSG_CHANNEL_SUCCESS
-paramiko.kex_gex.MSG_USERAUTH_FAILURE paramiko.kex_gex-module.html#MSG_USERAUTH_FAILURE
-paramiko.kex_gex.MSG_REQUEST_FAILURE paramiko.kex_gex-module.html#MSG_REQUEST_FAILURE
-paramiko.kex_gex.__package__ paramiko.kex_gex-module.html#__package__
-paramiko.kex_gex.MSG_CHANNEL_DATA paramiko.kex_gex-module.html#MSG_CHANNEL_DATA
-paramiko.kex_gex.CRITICAL paramiko.kex_gex-module.html#CRITICAL
-paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST_OLD paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REQUEST_OLD
-paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.kex_gex-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_gex.MSG_UNIMPLEMENTED paramiko.kex_gex-module.html#MSG_UNIMPLEMENTED
-paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_gex.MSG_USERAUTH_INFO_REQUEST paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_gex.MSG_DEBUG paramiko.kex_gex-module.html#MSG_DEBUG
-paramiko.kex_gex.MSG_CHANNEL_FAILURE paramiko.kex_gex-module.html#MSG_CHANNEL_FAILURE
-paramiko.kex_gex.OPEN_SUCCEEDED paramiko.kex_gex-module.html#OPEN_SUCCEEDED
-paramiko.kex_gex._MSG_KEXDH_GEX_INIT paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_INIT
-paramiko.kex_gex.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.kex_gex-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.kex_gex.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.kex_gex-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.kex_gex._MSG_KEXDH_GEX_REPLY paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REPLY
-paramiko.kex_gex.ERROR paramiko.kex_gex-module.html#ERROR
-paramiko.kex_gex.DEBUG paramiko.kex_gex-module.html#DEBUG
-paramiko.kex_gex._MSG_KEXDH_GEX_GROUP paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_GROUP
-paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL paramiko.kex_gex-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_gex.OPEN_FAILED_CONNECT_FAILED paramiko.kex_gex-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.kex_gex.INFO paramiko.kex_gex-module.html#INFO
-paramiko.kex_gex.MSG_USERAUTH_BANNER paramiko.kex_gex-module.html#MSG_USERAUTH_BANNER
-paramiko.kex_gex.MSG_NEWKEYS paramiko.kex_gex-module.html#MSG_NEWKEYS
-paramiko.kex_gex.MSG_USERAUTH_PK_OK paramiko.kex_gex-module.html#MSG_USERAUTH_PK_OK
-paramiko.kex_gex.MSG_USERAUTH_REQUEST paramiko.kex_gex-module.html#MSG_USERAUTH_REQUEST
-paramiko.kex_gex.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.kex_gex-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.kex_gex.PY22 paramiko.kex_gex-module.html#PY22
-paramiko.kex_gex.MSG_SERVICE_REQUEST paramiko.kex_gex-module.html#MSG_SERVICE_REQUEST
-paramiko.kex_gex.AUTH_FAILED paramiko.kex_gex-module.html#AUTH_FAILED
-paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA paramiko.kex_gex-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_gex.MSG_CHANNEL_CLOSE paramiko.kex_gex-module.html#MSG_CHANNEL_CLOSE
-paramiko.kex_gex.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.kex_gex-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_EOF paramiko.kex_gex-module.html#MSG_CHANNEL_EOF
-paramiko.kex_gex.MSG_USERAUTH_SUCCESS paramiko.kex_gex-module.html#MSG_USERAUTH_SUCCESS
-paramiko.kex_gex.CONNECTION_FAILED_CODE paramiko.kex_gex-module.html#CONNECTION_FAILED_CODE
-paramiko.kex_group1 paramiko.kex_group1-module.html
-paramiko.kex_group1.AUTH_SUCCESSFUL paramiko.kex_group1-module.html#AUTH_SUCCESSFUL
-paramiko.kex_group1.MSG_KEXINIT paramiko.kex_group1-module.html#MSG_KEXINIT
-paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST paramiko.kex_group1-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST paramiko.kex_group1-module.html#MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_NAMES paramiko.kex_group1-module.html#MSG_NAMES
-paramiko.kex_group1.MSG_CHANNEL_OPEN paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN
-paramiko.kex_group1.MSG_REQUEST_SUCCESS paramiko.kex_group1-module.html#MSG_REQUEST_SUCCESS
-paramiko.kex_group1.MSG_DISCONNECT paramiko.kex_group1-module.html#MSG_DISCONNECT
-paramiko.kex_group1.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.kex_group1-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.kex_group1.MSG_SERVICE_ACCEPT paramiko.kex_group1-module.html#MSG_SERVICE_ACCEPT
-paramiko.kex_group1.MSG_IGNORE paramiko.kex_group1-module.html#MSG_IGNORE
-paramiko.kex_group1.WARNING paramiko.kex_group1-module.html#WARNING
-paramiko.kex_group1.MSG_GLOBAL_REQUEST paramiko.kex_group1-module.html#MSG_GLOBAL_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_group1.MSG_DEBUG paramiko.kex_group1-module.html#MSG_DEBUG
-paramiko.kex_group1.P paramiko.kex_group1-module.html#P
-paramiko.kex_group1.MSG_CHANNEL_SUCCESS paramiko.kex_group1-module.html#MSG_CHANNEL_SUCCESS
-paramiko.kex_group1.MSG_USERAUTH_FAILURE paramiko.kex_group1-module.html#MSG_USERAUTH_FAILURE
-paramiko.kex_group1.MSG_REQUEST_FAILURE paramiko.kex_group1-module.html#MSG_REQUEST_FAILURE
-paramiko.kex_group1.__package__ paramiko.kex_group1-module.html#__package__
-paramiko.kex_group1.MSG_CHANNEL_DATA paramiko.kex_group1-module.html#MSG_CHANNEL_DATA
-paramiko.kex_group1.CRITICAL paramiko.kex_group1-module.html#CRITICAL
-paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.kex_group1-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_group1.MSG_UNIMPLEMENTED paramiko.kex_group1-module.html#MSG_UNIMPLEMENTED
-paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_group1.MSG_USERAUTH_INFO_REQUEST paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_group1.G paramiko.kex_group1-module.html#G
-paramiko.kex_group1.MSG_CHANNEL_FAILURE paramiko.kex_group1-module.html#MSG_CHANNEL_FAILURE
-paramiko.kex_group1.OPEN_SUCCEEDED paramiko.kex_group1-module.html#OPEN_SUCCEEDED
-paramiko.kex_group1.rng paramiko.kex_group1-module.html#rng
-paramiko.kex_group1.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.kex_group1-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.kex_group1.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.kex_group1-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.kex_group1._MSG_KEXDH_INIT paramiko.kex_group1-module.html#_MSG_KEXDH_INIT
-paramiko.kex_group1.ERROR paramiko.kex_group1-module.html#ERROR
-paramiko.kex_group1.DEBUG paramiko.kex_group1-module.html#DEBUG
-paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL paramiko.kex_group1-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_group1._MSG_KEXDH_REPLY paramiko.kex_group1-module.html#_MSG_KEXDH_REPLY
-paramiko.kex_group1.OPEN_FAILED_CONNECT_FAILED paramiko.kex_group1-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.kex_group1.INFO paramiko.kex_group1-module.html#INFO
-paramiko.kex_group1.MSG_USERAUTH_BANNER paramiko.kex_group1-module.html#MSG_USERAUTH_BANNER
-paramiko.kex_group1.MSG_NEWKEYS paramiko.kex_group1-module.html#MSG_NEWKEYS
-paramiko.kex_group1.MSG_USERAUTH_PK_OK paramiko.kex_group1-module.html#MSG_USERAUTH_PK_OK
-paramiko.kex_group1.MSG_USERAUTH_REQUEST paramiko.kex_group1-module.html#MSG_USERAUTH_REQUEST
-paramiko.kex_group1.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.kex_group1-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.kex_group1.PY22 paramiko.kex_group1-module.html#PY22
-paramiko.kex_group1.MSG_SERVICE_REQUEST paramiko.kex_group1-module.html#MSG_SERVICE_REQUEST
-paramiko.kex_group1.AUTH_FAILED paramiko.kex_group1-module.html#AUTH_FAILED
-paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA paramiko.kex_group1-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_group1.MSG_CHANNEL_CLOSE paramiko.kex_group1-module.html#MSG_CHANNEL_CLOSE
-paramiko.kex_group1.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.kex_group1-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_EOF paramiko.kex_group1-module.html#MSG_CHANNEL_EOF
-paramiko.kex_group1.MSG_USERAUTH_SUCCESS paramiko.kex_group1-module.html#MSG_USERAUTH_SUCCESS
-paramiko.kex_group1.CONNECTION_FAILED_CODE paramiko.kex_group1-module.html#CONNECTION_FAILED_CODE
-paramiko.logging22 paramiko.logging22-module.html
-paramiko.logging22.INFO paramiko.logging22-module.html#INFO
-paramiko.logging22.WARNING paramiko.logging22-module.html#WARNING
-paramiko.logging22._logger paramiko.logging22-module.html#_logger
-paramiko.logging22.__package__ paramiko.logging22-module.html#__package__
-paramiko.logging22.getLogger paramiko.logging22-module.html#getLogger
-paramiko.logging22.CRITICAL paramiko.logging22-module.html#CRITICAL
-paramiko.logging22.ERROR paramiko.logging22-module.html#ERROR
-paramiko.logging22.DEBUG paramiko.logging22-module.html#DEBUG
-paramiko.message paramiko.message-module.html
-paramiko.message.__package__ paramiko.message-module.html#__package__
-paramiko.packet paramiko.packet-module.html
-paramiko.packet.AUTH_SUCCESSFUL paramiko.packet-module.html#AUTH_SUCCESSFUL
-paramiko.packet.MSG_KEXINIT paramiko.packet-module.html#MSG_KEXINIT
-paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST paramiko.packet-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.packet.MSG_CHANNEL_REQUEST paramiko.packet-module.html#MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_NAMES paramiko.packet-module.html#MSG_NAMES
-paramiko.packet.PY22 paramiko.packet-module.html#PY22
-paramiko.packet.MSG_CHANNEL_OPEN paramiko.packet-module.html#MSG_CHANNEL_OPEN
-paramiko.packet.MSG_REQUEST_SUCCESS paramiko.packet-module.html#MSG_REQUEST_SUCCESS
-paramiko.packet.MSG_DISCONNECT paramiko.packet-module.html#MSG_DISCONNECT
-paramiko.packet.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.packet-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.packet.MSG_SERVICE_ACCEPT paramiko.packet-module.html#MSG_SERVICE_ACCEPT
-paramiko.packet.MSG_IGNORE paramiko.packet-module.html#MSG_IGNORE
-paramiko.packet.WARNING paramiko.packet-module.html#WARNING
-paramiko.packet.MSG_GLOBAL_REQUEST paramiko.packet-module.html#MSG_GLOBAL_REQUEST
-paramiko.packet.MSG_USERAUTH_INFO_RESPONSE paramiko.packet-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.packet.MSG_CHANNEL_SUCCESS paramiko.packet-module.html#MSG_CHANNEL_SUCCESS
-paramiko.packet.MSG_USERAUTH_FAILURE paramiko.packet-module.html#MSG_USERAUTH_FAILURE
-paramiko.packet.compute_hmac paramiko.packet-module.html#compute_hmac
-paramiko.packet.MSG_REQUEST_FAILURE paramiko.packet-module.html#MSG_REQUEST_FAILURE
-paramiko.packet.__package__ paramiko.packet-module.html#__package__
-paramiko.packet.MSG_CHANNEL_DATA paramiko.packet-module.html#MSG_CHANNEL_DATA
-paramiko.packet.CRITICAL paramiko.packet-module.html#CRITICAL
-paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.packet-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.packet.got_r_hmac paramiko.packet-module.html#got_r_hmac
-paramiko.packet.MSG_UNIMPLEMENTED paramiko.packet-module.html#MSG_UNIMPLEMENTED
-paramiko.packet.MSG_CHANNEL_OPEN_FAILURE paramiko.packet-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.packet.MSG_USERAUTH_INFO_REQUEST paramiko.packet-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.packet.MSG_DEBUG paramiko.packet-module.html#MSG_DEBUG
-paramiko.packet.MSG_CHANNEL_FAILURE paramiko.packet-module.html#MSG_CHANNEL_FAILURE
-paramiko.packet.OPEN_SUCCEEDED paramiko.packet-module.html#OPEN_SUCCEEDED
-paramiko.packet.rng paramiko.packet-module.html#rng
-paramiko.packet.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.packet-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.packet.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.packet-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.packet.ERROR paramiko.packet-module.html#ERROR
-paramiko.packet.DEBUG paramiko.packet-module.html#DEBUG
-paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL paramiko.packet-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.packet.OPEN_FAILED_CONNECT_FAILED paramiko.packet-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.packet.INFO paramiko.packet-module.html#INFO
-paramiko.packet.MSG_USERAUTH_BANNER paramiko.packet-module.html#MSG_USERAUTH_BANNER
-paramiko.packet.MSG_NEWKEYS paramiko.packet-module.html#MSG_NEWKEYS
-paramiko.packet.MSG_USERAUTH_PK_OK paramiko.packet-module.html#MSG_USERAUTH_PK_OK
-paramiko.packet.MSG_USERAUTH_REQUEST paramiko.packet-module.html#MSG_USERAUTH_REQUEST
-paramiko.packet.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.packet-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.packet.MSG_SERVICE_REQUEST paramiko.packet-module.html#MSG_SERVICE_REQUEST
-paramiko.packet.AUTH_FAILED paramiko.packet-module.html#AUTH_FAILED
-paramiko.packet.MSG_CHANNEL_EXTENDED_DATA paramiko.packet-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.packet.MSG_CHANNEL_CLOSE paramiko.packet-module.html#MSG_CHANNEL_CLOSE
-paramiko.packet.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.packet-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS paramiko.packet-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.packet.MSG_CHANNEL_EOF paramiko.packet-module.html#MSG_CHANNEL_EOF
-paramiko.packet.MSG_USERAUTH_SUCCESS paramiko.packet-module.html#MSG_USERAUTH_SUCCESS
-paramiko.packet.CONNECTION_FAILED_CODE paramiko.packet-module.html#CONNECTION_FAILED_CODE
-paramiko.pipe paramiko.pipe-module.html
-paramiko.pipe.make_or_pipe paramiko.pipe-module.html#make_or_pipe
-paramiko.pipe.__package__ paramiko.pipe-module.html#__package__
-paramiko.pipe.make_pipe paramiko.pipe-module.html#make_pipe
-paramiko.pkey paramiko.pkey-module.html
-paramiko.pkey.AUTH_SUCCESSFUL paramiko.pkey-module.html#AUTH_SUCCESSFUL
-paramiko.pkey.MSG_KEXINIT paramiko.pkey-module.html#MSG_KEXINIT
-paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST paramiko.pkey-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.pkey.MSG_CHANNEL_REQUEST paramiko.pkey-module.html#MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_NAMES paramiko.pkey-module.html#MSG_NAMES
-paramiko.pkey.__package__ paramiko.pkey-module.html#__package__
-paramiko.pkey.MSG_CHANNEL_OPEN paramiko.pkey-module.html#MSG_CHANNEL_OPEN
-paramiko.pkey.MSG_REQUEST_SUCCESS paramiko.pkey-module.html#MSG_REQUEST_SUCCESS
-paramiko.pkey.MSG_DISCONNECT paramiko.pkey-module.html#MSG_DISCONNECT
-paramiko.pkey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.pkey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.pkey.MSG_SERVICE_ACCEPT paramiko.pkey-module.html#MSG_SERVICE_ACCEPT
-paramiko.pkey.MSG_IGNORE paramiko.pkey-module.html#MSG_IGNORE
-paramiko.pkey.WARNING paramiko.pkey-module.html#WARNING
-paramiko.pkey.MSG_GLOBAL_REQUEST paramiko.pkey-module.html#MSG_GLOBAL_REQUEST
-paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE paramiko.pkey-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.pkey.MSG_CHANNEL_SUCCESS paramiko.pkey-module.html#MSG_CHANNEL_SUCCESS
-paramiko.pkey.MSG_USERAUTH_FAILURE paramiko.pkey-module.html#MSG_USERAUTH_FAILURE
-paramiko.pkey.MSG_REQUEST_FAILURE paramiko.pkey-module.html#MSG_REQUEST_FAILURE
-paramiko.pkey.MSG_CHANNEL_DATA paramiko.pkey-module.html#MSG_CHANNEL_DATA
-paramiko.pkey.CRITICAL paramiko.pkey-module.html#CRITICAL
-paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.pkey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.pkey.MSG_UNIMPLEMENTED paramiko.pkey-module.html#MSG_UNIMPLEMENTED
-paramiko.pkey.OPEN_FAILED_CONNECT_FAILED paramiko.pkey-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE paramiko.pkey-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.pkey.MSG_USERAUTH_INFO_REQUEST paramiko.pkey-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.pkey.MSG_DEBUG paramiko.pkey-module.html#MSG_DEBUG
-paramiko.pkey.MSG_CHANNEL_FAILURE paramiko.pkey-module.html#MSG_CHANNEL_FAILURE
-paramiko.pkey.OPEN_SUCCEEDED paramiko.pkey-module.html#OPEN_SUCCEEDED
-paramiko.pkey.rng paramiko.pkey-module.html#rng
-paramiko.pkey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.pkey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.pkey.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.pkey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.pkey.ERROR paramiko.pkey-module.html#ERROR
-paramiko.pkey.DEBUG paramiko.pkey-module.html#DEBUG
-paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL paramiko.pkey-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.pkey.INFO paramiko.pkey-module.html#INFO
-paramiko.pkey.MSG_USERAUTH_BANNER paramiko.pkey-module.html#MSG_USERAUTH_BANNER
-paramiko.pkey.MSG_NEWKEYS paramiko.pkey-module.html#MSG_NEWKEYS
-paramiko.pkey.MSG_USERAUTH_PK_OK paramiko.pkey-module.html#MSG_USERAUTH_PK_OK
-paramiko.pkey.MSG_USERAUTH_REQUEST paramiko.pkey-module.html#MSG_USERAUTH_REQUEST
-paramiko.pkey.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.pkey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.pkey.PY22 paramiko.pkey-module.html#PY22
-paramiko.pkey.MSG_SERVICE_REQUEST paramiko.pkey-module.html#MSG_SERVICE_REQUEST
-paramiko.pkey.AUTH_FAILED paramiko.pkey-module.html#AUTH_FAILED
-paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA paramiko.pkey-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.pkey.MSG_CHANNEL_CLOSE paramiko.pkey-module.html#MSG_CHANNEL_CLOSE
-paramiko.pkey.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.pkey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS paramiko.pkey-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.pkey.MSG_CHANNEL_EOF paramiko.pkey-module.html#MSG_CHANNEL_EOF
-paramiko.pkey.MSG_USERAUTH_SUCCESS paramiko.pkey-module.html#MSG_USERAUTH_SUCCESS
-paramiko.pkey.CONNECTION_FAILED_CODE paramiko.pkey-module.html#CONNECTION_FAILED_CODE
-paramiko.primes paramiko.primes-module.html
-paramiko.primes._roll_random paramiko.primes-module.html#_roll_random
-paramiko.primes._generate_prime paramiko.primes-module.html#_generate_prime
-paramiko.primes.__package__ paramiko.primes-module.html#__package__
-paramiko.resource paramiko.resource-module.html
-paramiko.resource.ResourceManager paramiko.resource-module.html#ResourceManager
-paramiko.resource.__package__ paramiko.resource-module.html#__package__
-paramiko.rsakey paramiko.rsakey-module.html
-paramiko.rsakey.AUTH_SUCCESSFUL paramiko.rsakey-module.html#AUTH_SUCCESSFUL
-paramiko.rsakey.MSG_KEXINIT paramiko.rsakey-module.html#MSG_KEXINIT
-paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST paramiko.rsakey-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.rsakey.MSG_CHANNEL_REQUEST paramiko.rsakey-module.html#MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_NAMES paramiko.rsakey-module.html#MSG_NAMES
-paramiko.rsakey.__package__ paramiko.rsakey-module.html#__package__
-paramiko.rsakey.MSG_CHANNEL_OPEN paramiko.rsakey-module.html#MSG_CHANNEL_OPEN
-paramiko.rsakey.MSG_REQUEST_SUCCESS paramiko.rsakey-module.html#MSG_REQUEST_SUCCESS
-paramiko.rsakey.MSG_DISCONNECT paramiko.rsakey-module.html#MSG_DISCONNECT
-paramiko.rsakey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.rsakey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.rsakey.MSG_SERVICE_ACCEPT paramiko.rsakey-module.html#MSG_SERVICE_ACCEPT
-paramiko.rsakey.MSG_IGNORE paramiko.rsakey-module.html#MSG_IGNORE
-paramiko.rsakey.WARNING paramiko.rsakey-module.html#WARNING
-paramiko.rsakey.MSG_GLOBAL_REQUEST paramiko.rsakey-module.html#MSG_GLOBAL_REQUEST
-paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE paramiko.rsakey-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.rsakey.MSG_CHANNEL_SUCCESS paramiko.rsakey-module.html#MSG_CHANNEL_SUCCESS
-paramiko.rsakey.MSG_USERAUTH_FAILURE paramiko.rsakey-module.html#MSG_USERAUTH_FAILURE
-paramiko.rsakey.MSG_REQUEST_FAILURE paramiko.rsakey-module.html#MSG_REQUEST_FAILURE
-paramiko.rsakey.MSG_CHANNEL_DATA paramiko.rsakey-module.html#MSG_CHANNEL_DATA
-paramiko.rsakey.CRITICAL paramiko.rsakey-module.html#CRITICAL
-paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.rsakey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.rsakey.MSG_UNIMPLEMENTED paramiko.rsakey-module.html#MSG_UNIMPLEMENTED
-paramiko.rsakey.OPEN_FAILED_CONNECT_FAILED paramiko.rsakey-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.rsakey.MSG_USERAUTH_INFO_REQUEST paramiko.rsakey-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.rsakey.MSG_DEBUG paramiko.rsakey-module.html#MSG_DEBUG
-paramiko.rsakey.MSG_CHANNEL_FAILURE paramiko.rsakey-module.html#MSG_CHANNEL_FAILURE
-paramiko.rsakey.OPEN_SUCCEEDED paramiko.rsakey-module.html#OPEN_SUCCEEDED
-paramiko.rsakey.rng paramiko.rsakey-module.html#rng
-paramiko.rsakey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.rsakey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.rsakey.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.rsakey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.rsakey.ERROR paramiko.rsakey-module.html#ERROR
-paramiko.rsakey.DEBUG paramiko.rsakey-module.html#DEBUG
-paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL paramiko.rsakey-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.rsakey.INFO paramiko.rsakey-module.html#INFO
-paramiko.rsakey.MSG_USERAUTH_BANNER paramiko.rsakey-module.html#MSG_USERAUTH_BANNER
-paramiko.rsakey.MSG_NEWKEYS paramiko.rsakey-module.html#MSG_NEWKEYS
-paramiko.rsakey.MSG_USERAUTH_PK_OK paramiko.rsakey-module.html#MSG_USERAUTH_PK_OK
-paramiko.rsakey.MSG_USERAUTH_REQUEST paramiko.rsakey-module.html#MSG_USERAUTH_REQUEST
-paramiko.rsakey.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.rsakey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.rsakey.PY22 paramiko.rsakey-module.html#PY22
-paramiko.rsakey.MSG_SERVICE_REQUEST paramiko.rsakey-module.html#MSG_SERVICE_REQUEST
-paramiko.rsakey.AUTH_FAILED paramiko.rsakey-module.html#AUTH_FAILED
-paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA paramiko.rsakey-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.rsakey.MSG_CHANNEL_CLOSE paramiko.rsakey-module.html#MSG_CHANNEL_CLOSE
-paramiko.rsakey.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.rsakey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_EOF paramiko.rsakey-module.html#MSG_CHANNEL_EOF
-paramiko.rsakey.MSG_USERAUTH_SUCCESS paramiko.rsakey-module.html#MSG_USERAUTH_SUCCESS
-paramiko.rsakey.CONNECTION_FAILED_CODE paramiko.rsakey-module.html#CONNECTION_FAILED_CODE
-paramiko.server paramiko.server-module.html
-paramiko.server.AUTH_SUCCESSFUL paramiko.server-module.html#AUTH_SUCCESSFUL
-paramiko.server.MSG_KEXINIT paramiko.server-module.html#MSG_KEXINIT
-paramiko.server.MSG_CHANNEL_WINDOW_ADJUST paramiko.server-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.server.MSG_CHANNEL_REQUEST paramiko.server-module.html#MSG_CHANNEL_REQUEST
-paramiko.server.MSG_NAMES paramiko.server-module.html#MSG_NAMES
-paramiko.server.MSG_CHANNEL_OPEN paramiko.server-module.html#MSG_CHANNEL_OPEN
-paramiko.server.MSG_REQUEST_SUCCESS paramiko.server-module.html#MSG_REQUEST_SUCCESS
-paramiko.server.MSG_DISCONNECT paramiko.server-module.html#MSG_DISCONNECT
-paramiko.server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.server.MSG_SERVICE_ACCEPT paramiko.server-module.html#MSG_SERVICE_ACCEPT
-paramiko.server.MSG_IGNORE paramiko.server-module.html#MSG_IGNORE
-paramiko.server.MSG_GLOBAL_REQUEST paramiko.server-module.html#MSG_GLOBAL_REQUEST
-paramiko.server.MSG_USERAUTH_INFO_RESPONSE paramiko.server-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.server.AUTH_FAILED paramiko.server-module.html#AUTH_FAILED
-paramiko.server.MSG_CHANNEL_SUCCESS paramiko.server-module.html#MSG_CHANNEL_SUCCESS
-paramiko.server.MSG_USERAUTH_FAILURE paramiko.server-module.html#MSG_USERAUTH_FAILURE
-paramiko.server.MSG_REQUEST_FAILURE paramiko.server-module.html#MSG_REQUEST_FAILURE
-paramiko.server.__package__ paramiko.server-module.html#__package__
-paramiko.server.MSG_CHANNEL_DATA paramiko.server-module.html#MSG_CHANNEL_DATA
-paramiko.server.CRITICAL paramiko.server-module.html#CRITICAL
-paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.server.MSG_UNIMPLEMENTED paramiko.server-module.html#MSG_UNIMPLEMENTED
-paramiko.server.MSG_CHANNEL_OPEN_FAILURE paramiko.server-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.server.MSG_USERAUTH_INFO_REQUEST paramiko.server-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.server.MSG_DEBUG paramiko.server-module.html#MSG_DEBUG
-paramiko.server.MSG_CHANNEL_FAILURE paramiko.server-module.html#MSG_CHANNEL_FAILURE
-paramiko.server.OPEN_SUCCEEDED paramiko.server-module.html#OPEN_SUCCEEDED
-paramiko.server.rng paramiko.server-module.html#rng
-paramiko.server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.server.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.server.ERROR paramiko.server-module.html#ERROR
-paramiko.server.DEBUG paramiko.server-module.html#DEBUG
-paramiko.server.AUTH_PARTIALLY_SUCCESSFUL paramiko.server-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.server.OPEN_FAILED_CONNECT_FAILED paramiko.server-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.server.INFO paramiko.server-module.html#INFO
-paramiko.server.MSG_USERAUTH_BANNER paramiko.server-module.html#MSG_USERAUTH_BANNER
-paramiko.server.MSG_NEWKEYS paramiko.server-module.html#MSG_NEWKEYS
-paramiko.server.MSG_USERAUTH_PK_OK paramiko.server-module.html#MSG_USERAUTH_PK_OK
-paramiko.server.WARNING paramiko.server-module.html#WARNING
-paramiko.server.MSG_USERAUTH_REQUEST paramiko.server-module.html#MSG_USERAUTH_REQUEST
-paramiko.server.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.server.PY22 paramiko.server-module.html#PY22
-paramiko.server.MSG_SERVICE_REQUEST paramiko.server-module.html#MSG_SERVICE_REQUEST
-paramiko.server.MSG_CHANNEL_EXTENDED_DATA paramiko.server-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.server.MSG_CHANNEL_CLOSE paramiko.server-module.html#MSG_CHANNEL_CLOSE
-paramiko.server.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.server-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.server.MSG_CHANNEL_OPEN_SUCCESS paramiko.server-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.server.MSG_CHANNEL_EOF paramiko.server-module.html#MSG_CHANNEL_EOF
-paramiko.server.MSG_USERAUTH_SUCCESS paramiko.server-module.html#MSG_USERAUTH_SUCCESS
-paramiko.server.CONNECTION_FAILED_CODE paramiko.server-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp paramiko.sftp-module.html
-paramiko.sftp.MSG_NAMES paramiko.sftp-module.html#MSG_NAMES
-paramiko.sftp.CMD_MKDIR paramiko.sftp-module.html#CMD_MKDIR
-paramiko.sftp.SFTP_FLAG_APPEND paramiko.sftp-module.html#SFTP_FLAG_APPEND
-paramiko.sftp.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp.SFTP_DESC paramiko.sftp-module.html#SFTP_DESC
-paramiko.sftp.CMD_LSTAT paramiko.sftp-module.html#CMD_LSTAT
-paramiko.sftp.MSG_GLOBAL_REQUEST paramiko.sftp-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp.MSG_CHANNEL_SUCCESS paramiko.sftp-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp.CRITICAL paramiko.sftp-module.html#CRITICAL
-paramiko.sftp.SFTP_FLAG_READ paramiko.sftp-module.html#SFTP_FLAG_READ
-paramiko.sftp.CMD_SYMLINK paramiko.sftp-module.html#CMD_SYMLINK
-paramiko.sftp.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp.CMD_VERSION paramiko.sftp-module.html#CMD_VERSION
-paramiko.sftp.CMD_INIT paramiko.sftp-module.html#CMD_INIT
-paramiko.sftp.CMD_EXTENDED paramiko.sftp-module.html#CMD_EXTENDED
-paramiko.sftp.MSG_CHANNEL_EOF paramiko.sftp-module.html#MSG_CHANNEL_EOF
-paramiko.sftp.SFTP_BAD_MESSAGE paramiko.sftp-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp.PY22 paramiko.sftp-module.html#PY22
-paramiko.sftp.CMD_READLINK paramiko.sftp-module.html#CMD_READLINK
-paramiko.sftp.__package__ paramiko.sftp-module.html#__package__
-paramiko.sftp.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp.MSG_NEWKEYS paramiko.sftp-module.html#MSG_NEWKEYS
-paramiko.sftp.MSG_USERAUTH_SUCCESS paramiko.sftp-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp.MSG_USERAUTH_PK_OK paramiko.sftp-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp.CMD_READDIR paramiko.sftp-module.html#CMD_READDIR
-paramiko.sftp.SFTP_FLAG_WRITE paramiko.sftp-module.html#SFTP_FLAG_WRITE
-paramiko.sftp.CMD_NAMES paramiko.sftp-module.html#CMD_NAMES
-paramiko.sftp.CMD_WRITE paramiko.sftp-module.html#CMD_WRITE
-paramiko.sftp.CMD_OPEN paramiko.sftp-module.html#CMD_OPEN
-paramiko.sftp.MSG_SERVICE_ACCEPT paramiko.sftp-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp.WARNING paramiko.sftp-module.html#WARNING
-paramiko.sftp.CMD_REMOVE paramiko.sftp-module.html#CMD_REMOVE
-paramiko.sftp.SFTP_EOF paramiko.sftp-module.html#SFTP_EOF
-paramiko.sftp.CMD_FSETSTAT paramiko.sftp-module.html#CMD_FSETSTAT
-paramiko.sftp.SFTP_FLAG_TRUNC paramiko.sftp-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp.CMD_SETSTAT paramiko.sftp-module.html#CMD_SETSTAT
-paramiko.sftp.ERROR paramiko.sftp-module.html#ERROR
-paramiko.sftp.DEBUG paramiko.sftp-module.html#DEBUG
-paramiko.sftp.CMD_FSTAT paramiko.sftp-module.html#CMD_FSTAT
-paramiko.sftp.MSG_USERAUTH_BANNER paramiko.sftp-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp.CMD_OPENDIR paramiko.sftp-module.html#CMD_OPENDIR
-paramiko.sftp.SFTP_FAILURE paramiko.sftp-module.html#SFTP_FAILURE
-paramiko.sftp.SFTP_NO_CONNECTION paramiko.sftp-module.html#SFTP_NO_CONNECTION
-paramiko.sftp.AUTH_FAILED paramiko.sftp-module.html#AUTH_FAILED
-paramiko.sftp.MSG_REQUEST_SUCCESS paramiko.sftp-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp.AUTH_SUCCESSFUL paramiko.sftp-module.html#AUTH_SUCCESSFUL
-paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp.MSG_CHANNEL_REQUEST paramiko.sftp-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_USERAUTH_INFO_REQUEST paramiko.sftp-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp.CMD_ATTRS paramiko.sftp-module.html#CMD_ATTRS
-paramiko.sftp.CMD_EXTENDED_REPLY paramiko.sftp-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp.MSG_DISCONNECT paramiko.sftp-module.html#MSG_DISCONNECT
-paramiko.sftp.MSG_IGNORE paramiko.sftp-module.html#MSG_IGNORE
-paramiko.sftp.SFTP_FLAG_EXCL paramiko.sftp-module.html#SFTP_FLAG_EXCL
-paramiko.sftp.SFTP_NO_SUCH_FILE paramiko.sftp-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp.MSG_USERAUTH_FAILURE paramiko.sftp-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp.MSG_KEXINIT paramiko.sftp-module.html#MSG_KEXINIT
-paramiko.sftp.MSG_CHANNEL_DATA paramiko.sftp-module.html#MSG_CHANNEL_DATA
-paramiko.sftp.CMD_CLOSE paramiko.sftp-module.html#CMD_CLOSE
-paramiko.sftp.CMD_RENAME paramiko.sftp-module.html#CMD_RENAME
-paramiko.sftp.SFTP_FLAG_CREATE paramiko.sftp-module.html#SFTP_FLAG_CREATE
-paramiko.sftp.MSG_DEBUG paramiko.sftp-module.html#MSG_DEBUG
-paramiko.sftp.SFTP_PERMISSION_DENIED paramiko.sftp-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp.OPEN_SUCCEEDED paramiko.sftp-module.html#OPEN_SUCCEEDED
-paramiko.sftp.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp.CMD_DATA paramiko.sftp-module.html#CMD_DATA
-paramiko.sftp.MSG_UNIMPLEMENTED paramiko.sftp-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp.INFO paramiko.sftp-module.html#INFO
-paramiko.sftp.CMD_STAT paramiko.sftp-module.html#CMD_STAT
-paramiko.sftp.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp.CMD_NAME paramiko.sftp-module.html#CMD_NAME
-paramiko.sftp.CONNECTION_FAILED_CODE paramiko.sftp-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp.CMD_HANDLE paramiko.sftp-module.html#CMD_HANDLE
-paramiko.sftp._VERSION paramiko.sftp-module.html#_VERSION
-paramiko.sftp.MSG_CHANNEL_OPEN paramiko.sftp-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp.CMD_RMDIR paramiko.sftp-module.html#CMD_RMDIR
-paramiko.sftp.SFTP_OK paramiko.sftp-module.html#SFTP_OK
-paramiko.sftp.CMD_READ paramiko.sftp-module.html#CMD_READ
-paramiko.sftp.SFTP_OP_UNSUPPORTED paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp.MSG_REQUEST_FAILURE paramiko.sftp-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp.CMD_STATUS paramiko.sftp-module.html#CMD_STATUS
-paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp.MSG_CHANNEL_FAILURE paramiko.sftp-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp.rng paramiko.sftp-module.html#rng
-paramiko.sftp.SFTP_CONNECTION_LOST paramiko.sftp-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp.OPEN_FAILED_CONNECT_FAILED paramiko.sftp-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp.MSG_USERAUTH_REQUEST paramiko.sftp-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp.MSG_SERVICE_REQUEST paramiko.sftp-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp.CMD_REALPATH paramiko.sftp-module.html#CMD_REALPATH
-paramiko.sftp.MSG_CHANNEL_CLOSE paramiko.sftp-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_attr paramiko.sftp_attr-module.html
-paramiko.sftp_attr.MSG_NAMES paramiko.sftp_attr-module.html#MSG_NAMES
-paramiko.sftp_attr.CMD_MKDIR paramiko.sftp_attr-module.html#CMD_MKDIR
-paramiko.sftp_attr.SFTP_FLAG_APPEND paramiko.sftp_attr-module.html#SFTP_FLAG_APPEND
-paramiko.sftp_attr.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp_attr-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_attr.SFTP_DESC paramiko.sftp_attr-module.html#SFTP_DESC
-paramiko.sftp_attr.CMD_LSTAT paramiko.sftp_attr-module.html#CMD_LSTAT
-paramiko.sftp_attr.MSG_GLOBAL_REQUEST paramiko.sftp_attr-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_SUCCESS paramiko.sftp_attr-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp_attr.CRITICAL paramiko.sftp_attr-module.html#CRITICAL
-paramiko.sftp_attr.SFTP_FLAG_READ paramiko.sftp_attr-module.html#SFTP_FLAG_READ
-paramiko.sftp_attr.CMD_SYMLINK paramiko.sftp_attr-module.html#CMD_SYMLINK
-paramiko.sftp_attr.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp_attr-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_attr.CMD_VERSION paramiko.sftp_attr-module.html#CMD_VERSION
-paramiko.sftp_attr.CMD_INIT paramiko.sftp_attr-module.html#CMD_INIT
-paramiko.sftp_attr.CMD_EXTENDED paramiko.sftp_attr-module.html#CMD_EXTENDED
-paramiko.sftp_attr.MSG_CHANNEL_EOF paramiko.sftp_attr-module.html#MSG_CHANNEL_EOF
-paramiko.sftp_attr.SFTP_BAD_MESSAGE paramiko.sftp_attr-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp_attr.PY22 paramiko.sftp_attr-module.html#PY22
-paramiko.sftp_attr.CMD_READLINK paramiko.sftp_attr-module.html#CMD_READLINK
-paramiko.sftp_attr.__package__ paramiko.sftp_attr-module.html#__package__
-paramiko.sftp_attr.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp_attr-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_attr.MSG_NEWKEYS paramiko.sftp_attr-module.html#MSG_NEWKEYS
-paramiko.sftp_attr.MSG_USERAUTH_SUCCESS paramiko.sftp_attr-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp_attr.MSG_USERAUTH_PK_OK paramiko.sftp_attr-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp_attr.CMD_READDIR paramiko.sftp_attr-module.html#CMD_READDIR
-paramiko.sftp_attr.SFTP_FLAG_WRITE paramiko.sftp_attr-module.html#SFTP_FLAG_WRITE
-paramiko.sftp_attr.CMD_NAMES paramiko.sftp_attr-module.html#CMD_NAMES
-paramiko.sftp_attr.CMD_WRITE paramiko.sftp_attr-module.html#CMD_WRITE
-paramiko.sftp_attr.CMD_OPEN paramiko.sftp_attr-module.html#CMD_OPEN
-paramiko.sftp_attr.MSG_SERVICE_ACCEPT paramiko.sftp_attr-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp_attr.WARNING paramiko.sftp_attr-module.html#WARNING
-paramiko.sftp_attr.CMD_REMOVE paramiko.sftp_attr-module.html#CMD_REMOVE
-paramiko.sftp_attr.SFTP_EOF paramiko.sftp_attr-module.html#SFTP_EOF
-paramiko.sftp_attr.CMD_FSETSTAT paramiko.sftp_attr-module.html#CMD_FSETSTAT
-paramiko.sftp_attr.SFTP_FLAG_TRUNC paramiko.sftp_attr-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp_attr.CMD_SETSTAT paramiko.sftp_attr-module.html#CMD_SETSTAT
-paramiko.sftp_attr.ERROR paramiko.sftp_attr-module.html#ERROR
-paramiko.sftp_attr.DEBUG paramiko.sftp_attr-module.html#DEBUG
-paramiko.sftp_attr.CMD_FSTAT paramiko.sftp_attr-module.html#CMD_FSTAT
-paramiko.sftp_attr.MSG_USERAUTH_BANNER paramiko.sftp_attr-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp_attr.CMD_OPENDIR paramiko.sftp_attr-module.html#CMD_OPENDIR
-paramiko.sftp_attr.SFTP_FAILURE paramiko.sftp_attr-module.html#SFTP_FAILURE
-paramiko.sftp_attr.SFTP_NO_CONNECTION paramiko.sftp_attr-module.html#SFTP_NO_CONNECTION
-paramiko.sftp_attr.AUTH_FAILED paramiko.sftp_attr-module.html#AUTH_FAILED
-paramiko.sftp_attr.MSG_REQUEST_SUCCESS paramiko.sftp_attr-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp_attr.AUTH_SUCCESSFUL paramiko.sftp_attr-module.html#AUTH_SUCCESSFUL
-paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp_attr-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST paramiko.sftp_attr-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_INFO_REQUEST paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_attr.CMD_ATTRS paramiko.sftp_attr-module.html#CMD_ATTRS
-paramiko.sftp_attr.CMD_EXTENDED_REPLY paramiko.sftp_attr-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp_attr.MSG_DISCONNECT paramiko.sftp_attr-module.html#MSG_DISCONNECT
-paramiko.sftp_attr.MSG_IGNORE paramiko.sftp_attr-module.html#MSG_IGNORE
-paramiko.sftp_attr.SFTP_FLAG_EXCL paramiko.sftp_attr-module.html#SFTP_FLAG_EXCL
-paramiko.sftp_attr.SFTP_NO_SUCH_FILE paramiko.sftp_attr-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp_attr.MSG_USERAUTH_FAILURE paramiko.sftp_attr-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp_attr.MSG_KEXINIT paramiko.sftp_attr-module.html#MSG_KEXINIT
-paramiko.sftp_attr.MSG_CHANNEL_DATA paramiko.sftp_attr-module.html#MSG_CHANNEL_DATA
-paramiko.sftp_attr.CMD_CLOSE paramiko.sftp_attr-module.html#CMD_CLOSE
-paramiko.sftp_attr.CMD_RENAME paramiko.sftp_attr-module.html#CMD_RENAME
-paramiko.sftp_attr.SFTP_FLAG_CREATE paramiko.sftp_attr-module.html#SFTP_FLAG_CREATE
-paramiko.sftp_attr.MSG_DEBUG paramiko.sftp_attr-module.html#MSG_DEBUG
-paramiko.sftp_attr.SFTP_PERMISSION_DENIED paramiko.sftp_attr-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp_attr.OPEN_SUCCEEDED paramiko.sftp_attr-module.html#OPEN_SUCCEEDED
-paramiko.sftp_attr.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp_attr-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_attr.CMD_DATA paramiko.sftp_attr-module.html#CMD_DATA
-paramiko.sftp_attr.MSG_UNIMPLEMENTED paramiko.sftp_attr-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp_attr.INFO paramiko.sftp_attr-module.html#INFO
-paramiko.sftp_attr.CMD_STAT paramiko.sftp_attr-module.html#CMD_STAT
-paramiko.sftp_attr.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp_attr-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp_attr-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_attr.CMD_NAME paramiko.sftp_attr-module.html#CMD_NAME
-paramiko.sftp_attr.CONNECTION_FAILED_CODE paramiko.sftp_attr-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp_attr.CMD_HANDLE paramiko.sftp_attr-module.html#CMD_HANDLE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp_attr.CMD_RMDIR paramiko.sftp_attr-module.html#CMD_RMDIR
-paramiko.sftp_attr.SFTP_OK paramiko.sftp_attr-module.html#SFTP_OK
-paramiko.sftp_attr.CMD_READ paramiko.sftp_attr-module.html#CMD_READ
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_attr.MSG_REQUEST_FAILURE paramiko.sftp_attr-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp_attr.CMD_STATUS paramiko.sftp_attr-module.html#CMD_STATUS
-paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp_attr-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp_attr-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_attr.MSG_CHANNEL_FAILURE paramiko.sftp_attr-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp_attr.rng paramiko.sftp_attr-module.html#rng
-paramiko.sftp_attr.SFTP_CONNECTION_LOST paramiko.sftp_attr-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp_attr.OPEN_FAILED_CONNECT_FAILED paramiko.sftp_attr-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_attr.MSG_USERAUTH_REQUEST paramiko.sftp_attr-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp_attr.MSG_SERVICE_REQUEST paramiko.sftp_attr-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp_attr.CMD_REALPATH paramiko.sftp_attr-module.html#CMD_REALPATH
-paramiko.sftp_attr.MSG_CHANNEL_CLOSE paramiko.sftp_attr-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_client paramiko.sftp_client-module.html
-paramiko.sftp_client.MSG_NAMES paramiko.sftp_client-module.html#MSG_NAMES
-paramiko.sftp_client.CMD_MKDIR paramiko.sftp_client-module.html#CMD_MKDIR
-paramiko.sftp_client.SFTP_FLAG_APPEND paramiko.sftp_client-module.html#SFTP_FLAG_APPEND
-paramiko.sftp_client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp_client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_client.SFTP_DESC paramiko.sftp_client-module.html#SFTP_DESC
-paramiko.sftp_client.CMD_LSTAT paramiko.sftp_client-module.html#CMD_LSTAT
-paramiko.sftp_client.MSG_GLOBAL_REQUEST paramiko.sftp_client-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_SUCCESS paramiko.sftp_client-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp_client.CRITICAL paramiko.sftp_client-module.html#CRITICAL
-paramiko.sftp_client.SFTP_FLAG_READ paramiko.sftp_client-module.html#SFTP_FLAG_READ
-paramiko.sftp_client.CMD_SYMLINK paramiko.sftp_client-module.html#CMD_SYMLINK
-paramiko.sftp_client.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp_client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_client.CMD_VERSION paramiko.sftp_client-module.html#CMD_VERSION
-paramiko.sftp_client.CMD_INIT paramiko.sftp_client-module.html#CMD_INIT
-paramiko.sftp_client.CMD_EXTENDED paramiko.sftp_client-module.html#CMD_EXTENDED
-paramiko.sftp_client.MSG_CHANNEL_EOF paramiko.sftp_client-module.html#MSG_CHANNEL_EOF
-paramiko.sftp_client.CMD_STAT paramiko.sftp_client-module.html#CMD_STAT
-paramiko.sftp_client.SFTP_BAD_MESSAGE paramiko.sftp_client-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp_client.PY22 paramiko.sftp_client-module.html#PY22
-paramiko.sftp_client.CMD_READLINK paramiko.sftp_client-module.html#CMD_READLINK
-paramiko.sftp_client.__package__ paramiko.sftp_client-module.html#__package__
-paramiko.sftp_client.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp_client-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_client.MSG_NEWKEYS paramiko.sftp_client-module.html#MSG_NEWKEYS
-paramiko.sftp_client.MSG_USERAUTH_SUCCESS paramiko.sftp_client-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp_client.MSG_USERAUTH_PK_OK paramiko.sftp_client-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp_client.CMD_READDIR paramiko.sftp_client-module.html#CMD_READDIR
-paramiko.sftp_client.SFTP_FLAG_WRITE paramiko.sftp_client-module.html#SFTP_FLAG_WRITE
-paramiko.sftp_client.CMD_NAMES paramiko.sftp_client-module.html#CMD_NAMES
-paramiko.sftp_client.CMD_WRITE paramiko.sftp_client-module.html#CMD_WRITE
-paramiko.sftp_client.CMD_OPEN paramiko.sftp_client-module.html#CMD_OPEN
-paramiko.sftp_client.MSG_SERVICE_ACCEPT paramiko.sftp_client-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp_client.WARNING paramiko.sftp_client-module.html#WARNING
-paramiko.sftp_client.CMD_REMOVE paramiko.sftp_client-module.html#CMD_REMOVE
-paramiko.sftp_client.SFTP_EOF paramiko.sftp_client-module.html#SFTP_EOF
-paramiko.sftp_client.CMD_FSETSTAT paramiko.sftp_client-module.html#CMD_FSETSTAT
-paramiko.sftp_client.SFTP_FLAG_TRUNC paramiko.sftp_client-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp_client.CMD_SETSTAT paramiko.sftp_client-module.html#CMD_SETSTAT
-paramiko.sftp_client.ERROR paramiko.sftp_client-module.html#ERROR
-paramiko.sftp_client.DEBUG paramiko.sftp_client-module.html#DEBUG
-paramiko.sftp_client.CMD_FSTAT paramiko.sftp_client-module.html#CMD_FSTAT
-paramiko.sftp_client.MSG_USERAUTH_BANNER paramiko.sftp_client-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp_client.CMD_OPENDIR paramiko.sftp_client-module.html#CMD_OPENDIR
-paramiko.sftp_client.SFTP_FAILURE paramiko.sftp_client-module.html#SFTP_FAILURE
-paramiko.sftp_client.SFTP_NO_CONNECTION paramiko.sftp_client-module.html#SFTP_NO_CONNECTION
-paramiko.sftp_client.AUTH_FAILED paramiko.sftp_client-module.html#AUTH_FAILED
-paramiko.sftp_client.MSG_REQUEST_SUCCESS paramiko.sftp_client-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp_client.AUTH_SUCCESSFUL paramiko.sftp_client-module.html#AUTH_SUCCESSFUL
-paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp_client-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST paramiko.sftp_client-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_INFO_REQUEST paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_client.CMD_ATTRS paramiko.sftp_client-module.html#CMD_ATTRS
-paramiko.sftp_client.CMD_EXTENDED_REPLY paramiko.sftp_client-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp_client.MSG_DISCONNECT paramiko.sftp_client-module.html#MSG_DISCONNECT
-paramiko.sftp_client.MSG_IGNORE paramiko.sftp_client-module.html#MSG_IGNORE
-paramiko.sftp_client.SFTP_FLAG_EXCL paramiko.sftp_client-module.html#SFTP_FLAG_EXCL
-paramiko.sftp_client.SFTP_NO_SUCH_FILE paramiko.sftp_client-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp_client.MSG_USERAUTH_FAILURE paramiko.sftp_client-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp_client.MSG_KEXINIT paramiko.sftp_client-module.html#MSG_KEXINIT
-paramiko.sftp_client.MSG_CHANNEL_DATA paramiko.sftp_client-module.html#MSG_CHANNEL_DATA
-paramiko.sftp_client.CMD_CLOSE paramiko.sftp_client-module.html#CMD_CLOSE
-paramiko.sftp_client.CMD_RENAME paramiko.sftp_client-module.html#CMD_RENAME
-paramiko.sftp_client.SFTP_FLAG_CREATE paramiko.sftp_client-module.html#SFTP_FLAG_CREATE
-paramiko.sftp_client.MSG_DEBUG paramiko.sftp_client-module.html#MSG_DEBUG
-paramiko.sftp_client.SFTP_PERMISSION_DENIED paramiko.sftp_client-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp_client.OPEN_SUCCEEDED paramiko.sftp_client-module.html#OPEN_SUCCEEDED
-paramiko.sftp_client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp_client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_client.CMD_DATA paramiko.sftp_client-module.html#CMD_DATA
-paramiko.sftp_client.MSG_UNIMPLEMENTED paramiko.sftp_client-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp_client.INFO paramiko.sftp_client-module.html#INFO
-paramiko.sftp_client.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp_client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_client._to_unicode paramiko.sftp_client-module.html#_to_unicode
-paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp_client-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_client.CMD_NAME paramiko.sftp_client-module.html#CMD_NAME
-paramiko.sftp_client.CONNECTION_FAILED_CODE paramiko.sftp_client-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp_client.CMD_HANDLE paramiko.sftp_client-module.html#CMD_HANDLE
-paramiko.sftp_client.MSG_CHANNEL_OPEN paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp_client.CMD_RMDIR paramiko.sftp_client-module.html#CMD_RMDIR
-paramiko.sftp_client.SFTP_OK paramiko.sftp_client-module.html#SFTP_OK
-paramiko.sftp_client.CMD_READ paramiko.sftp_client-module.html#CMD_READ
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_client.MSG_REQUEST_FAILURE paramiko.sftp_client-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp_client.CMD_STATUS paramiko.sftp_client-module.html#CMD_STATUS
-paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp_client-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp_client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_client.MSG_CHANNEL_FAILURE paramiko.sftp_client-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp_client.rng paramiko.sftp_client-module.html#rng
-paramiko.sftp_client.SFTP_CONNECTION_LOST paramiko.sftp_client-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp_client.OPEN_FAILED_CONNECT_FAILED paramiko.sftp_client-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_client.MSG_USERAUTH_REQUEST paramiko.sftp_client-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp_client.MSG_SERVICE_REQUEST paramiko.sftp_client-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp_client.CMD_REALPATH paramiko.sftp_client-module.html#CMD_REALPATH
-paramiko.sftp_client.MSG_CHANNEL_CLOSE paramiko.sftp_client-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_file paramiko.sftp_file-module.html
-paramiko.sftp_file.MSG_NAMES paramiko.sftp_file-module.html#MSG_NAMES
-paramiko.sftp_file.CMD_MKDIR paramiko.sftp_file-module.html#CMD_MKDIR
-paramiko.sftp_file.SFTP_FLAG_APPEND paramiko.sftp_file-module.html#SFTP_FLAG_APPEND
-paramiko.sftp_file.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp_file-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_file.SFTP_DESC paramiko.sftp_file-module.html#SFTP_DESC
-paramiko.sftp_file.CMD_LSTAT paramiko.sftp_file-module.html#CMD_LSTAT
-paramiko.sftp_file.MSG_GLOBAL_REQUEST paramiko.sftp_file-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_SUCCESS paramiko.sftp_file-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp_file.CRITICAL paramiko.sftp_file-module.html#CRITICAL
-paramiko.sftp_file.SFTP_FLAG_READ paramiko.sftp_file-module.html#SFTP_FLAG_READ
-paramiko.sftp_file.CMD_SYMLINK paramiko.sftp_file-module.html#CMD_SYMLINK
-paramiko.sftp_file.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp_file-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_file.CMD_VERSION paramiko.sftp_file-module.html#CMD_VERSION
-paramiko.sftp_file.CMD_INIT paramiko.sftp_file-module.html#CMD_INIT
-paramiko.sftp_file.CMD_EXTENDED paramiko.sftp_file-module.html#CMD_EXTENDED
-paramiko.sftp_file.MSG_CHANNEL_EOF paramiko.sftp_file-module.html#MSG_CHANNEL_EOF
-paramiko.sftp_file.CMD_STAT paramiko.sftp_file-module.html#CMD_STAT
-paramiko.sftp_file.SFTP_BAD_MESSAGE paramiko.sftp_file-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp_file.PY22 paramiko.sftp_file-module.html#PY22
-paramiko.sftp_file.CMD_READLINK paramiko.sftp_file-module.html#CMD_READLINK
-paramiko.sftp_file.__package__ paramiko.sftp_file-module.html#__package__
-paramiko.sftp_file.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp_file-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_file.MSG_NEWKEYS paramiko.sftp_file-module.html#MSG_NEWKEYS
-paramiko.sftp_file.MSG_USERAUTH_SUCCESS paramiko.sftp_file-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp_file.MSG_USERAUTH_PK_OK paramiko.sftp_file-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp_file.CMD_READDIR paramiko.sftp_file-module.html#CMD_READDIR
-paramiko.sftp_file.SFTP_FLAG_WRITE paramiko.sftp_file-module.html#SFTP_FLAG_WRITE
-paramiko.sftp_file.CMD_NAMES paramiko.sftp_file-module.html#CMD_NAMES
-paramiko.sftp_file.CMD_WRITE paramiko.sftp_file-module.html#CMD_WRITE
-paramiko.sftp_file.CMD_OPEN paramiko.sftp_file-module.html#CMD_OPEN
-paramiko.sftp_file.MSG_SERVICE_ACCEPT paramiko.sftp_file-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp_file.WARNING paramiko.sftp_file-module.html#WARNING
-paramiko.sftp_file.CMD_REMOVE paramiko.sftp_file-module.html#CMD_REMOVE
-paramiko.sftp_file.SFTP_EOF paramiko.sftp_file-module.html#SFTP_EOF
-paramiko.sftp_file.CMD_FSETSTAT paramiko.sftp_file-module.html#CMD_FSETSTAT
-paramiko.sftp_file.SFTP_FLAG_TRUNC paramiko.sftp_file-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp_file.CMD_SETSTAT paramiko.sftp_file-module.html#CMD_SETSTAT
-paramiko.sftp_file.ERROR paramiko.sftp_file-module.html#ERROR
-paramiko.sftp_file.DEBUG paramiko.sftp_file-module.html#DEBUG
-paramiko.sftp_file.CMD_FSTAT paramiko.sftp_file-module.html#CMD_FSTAT
-paramiko.sftp_file.MSG_USERAUTH_BANNER paramiko.sftp_file-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp_file.CMD_OPENDIR paramiko.sftp_file-module.html#CMD_OPENDIR
-paramiko.sftp_file.SFTP_FAILURE paramiko.sftp_file-module.html#SFTP_FAILURE
-paramiko.sftp_file.SFTP_NO_CONNECTION paramiko.sftp_file-module.html#SFTP_NO_CONNECTION
-paramiko.sftp_file.AUTH_FAILED paramiko.sftp_file-module.html#AUTH_FAILED
-paramiko.sftp_file.MSG_REQUEST_SUCCESS paramiko.sftp_file-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp_file.AUTH_SUCCESSFUL paramiko.sftp_file-module.html#AUTH_SUCCESSFUL
-paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp_file-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST paramiko.sftp_file-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_INFO_REQUEST paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_file.CMD_ATTRS paramiko.sftp_file-module.html#CMD_ATTRS
-paramiko.sftp_file.CMD_EXTENDED_REPLY paramiko.sftp_file-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp_file.MSG_DISCONNECT paramiko.sftp_file-module.html#MSG_DISCONNECT
-paramiko.sftp_file.MSG_IGNORE paramiko.sftp_file-module.html#MSG_IGNORE
-paramiko.sftp_file.SFTP_FLAG_EXCL paramiko.sftp_file-module.html#SFTP_FLAG_EXCL
-paramiko.sftp_file.SFTP_NO_SUCH_FILE paramiko.sftp_file-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp_file.MSG_USERAUTH_FAILURE paramiko.sftp_file-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp_file.MSG_KEXINIT paramiko.sftp_file-module.html#MSG_KEXINIT
-paramiko.sftp_file.MSG_CHANNEL_DATA paramiko.sftp_file-module.html#MSG_CHANNEL_DATA
-paramiko.sftp_file.CMD_CLOSE paramiko.sftp_file-module.html#CMD_CLOSE
-paramiko.sftp_file.CMD_RENAME paramiko.sftp_file-module.html#CMD_RENAME
-paramiko.sftp_file.SFTP_FLAG_CREATE paramiko.sftp_file-module.html#SFTP_FLAG_CREATE
-paramiko.sftp_file.MSG_DEBUG paramiko.sftp_file-module.html#MSG_DEBUG
-paramiko.sftp_file.SFTP_PERMISSION_DENIED paramiko.sftp_file-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp_file.OPEN_SUCCEEDED paramiko.sftp_file-module.html#OPEN_SUCCEEDED
-paramiko.sftp_file.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp_file-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_file.CMD_DATA paramiko.sftp_file-module.html#CMD_DATA
-paramiko.sftp_file.MSG_UNIMPLEMENTED paramiko.sftp_file-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp_file.INFO paramiko.sftp_file-module.html#INFO
-paramiko.sftp_file.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp_file-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp_file-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_file.CMD_NAME paramiko.sftp_file-module.html#CMD_NAME
-paramiko.sftp_file.CONNECTION_FAILED_CODE paramiko.sftp_file-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp_file.CMD_HANDLE paramiko.sftp_file-module.html#CMD_HANDLE
-paramiko.sftp_file.MSG_CHANNEL_OPEN paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp_file.CMD_RMDIR paramiko.sftp_file-module.html#CMD_RMDIR
-paramiko.sftp_file.SFTP_OK paramiko.sftp_file-module.html#SFTP_OK
-paramiko.sftp_file.CMD_READ paramiko.sftp_file-module.html#CMD_READ
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_file.MSG_REQUEST_FAILURE paramiko.sftp_file-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp_file.CMD_STATUS paramiko.sftp_file-module.html#CMD_STATUS
-paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp_file-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp_file-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_file.MSG_CHANNEL_FAILURE paramiko.sftp_file-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp_file.rng paramiko.sftp_file-module.html#rng
-paramiko.sftp_file.SFTP_CONNECTION_LOST paramiko.sftp_file-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp_file.OPEN_FAILED_CONNECT_FAILED paramiko.sftp_file-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_file.MSG_USERAUTH_REQUEST paramiko.sftp_file-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp_file.MSG_SERVICE_REQUEST paramiko.sftp_file-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp_file.CMD_REALPATH paramiko.sftp_file-module.html#CMD_REALPATH
-paramiko.sftp_file.MSG_CHANNEL_CLOSE paramiko.sftp_file-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_handle paramiko.sftp_handle-module.html
-paramiko.sftp_handle.MSG_NAMES paramiko.sftp_handle-module.html#MSG_NAMES
-paramiko.sftp_handle.CMD_MKDIR paramiko.sftp_handle-module.html#CMD_MKDIR
-paramiko.sftp_handle.SFTP_FLAG_APPEND paramiko.sftp_handle-module.html#SFTP_FLAG_APPEND
-paramiko.sftp_handle.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp_handle-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_handle.SFTP_DESC paramiko.sftp_handle-module.html#SFTP_DESC
-paramiko.sftp_handle.CMD_LSTAT paramiko.sftp_handle-module.html#CMD_LSTAT
-paramiko.sftp_handle.MSG_GLOBAL_REQUEST paramiko.sftp_handle-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_SUCCESS paramiko.sftp_handle-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp_handle.CRITICAL paramiko.sftp_handle-module.html#CRITICAL
-paramiko.sftp_handle.SFTP_FLAG_READ paramiko.sftp_handle-module.html#SFTP_FLAG_READ
-paramiko.sftp_handle.CMD_SYMLINK paramiko.sftp_handle-module.html#CMD_SYMLINK
-paramiko.sftp_handle.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp_handle-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_handle.CMD_VERSION paramiko.sftp_handle-module.html#CMD_VERSION
-paramiko.sftp_handle.CMD_INIT paramiko.sftp_handle-module.html#CMD_INIT
-paramiko.sftp_handle.CMD_EXTENDED paramiko.sftp_handle-module.html#CMD_EXTENDED
-paramiko.sftp_handle.MSG_CHANNEL_EOF paramiko.sftp_handle-module.html#MSG_CHANNEL_EOF
-paramiko.sftp_handle.SFTP_BAD_MESSAGE paramiko.sftp_handle-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp_handle.PY22 paramiko.sftp_handle-module.html#PY22
-paramiko.sftp_handle.CMD_READLINK paramiko.sftp_handle-module.html#CMD_READLINK
-paramiko.sftp_handle.__package__ paramiko.sftp_handle-module.html#__package__
-paramiko.sftp_handle.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp_handle-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_handle.MSG_NEWKEYS paramiko.sftp_handle-module.html#MSG_NEWKEYS
-paramiko.sftp_handle.MSG_USERAUTH_SUCCESS paramiko.sftp_handle-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp_handle.MSG_USERAUTH_PK_OK paramiko.sftp_handle-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp_handle.CMD_READDIR paramiko.sftp_handle-module.html#CMD_READDIR
-paramiko.sftp_handle.SFTP_FLAG_WRITE paramiko.sftp_handle-module.html#SFTP_FLAG_WRITE
-paramiko.sftp_handle.CMD_NAMES paramiko.sftp_handle-module.html#CMD_NAMES
-paramiko.sftp_handle.CMD_WRITE paramiko.sftp_handle-module.html#CMD_WRITE
-paramiko.sftp_handle.CMD_OPEN paramiko.sftp_handle-module.html#CMD_OPEN
-paramiko.sftp_handle.MSG_SERVICE_ACCEPT paramiko.sftp_handle-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp_handle.WARNING paramiko.sftp_handle-module.html#WARNING
-paramiko.sftp_handle.CMD_REMOVE paramiko.sftp_handle-module.html#CMD_REMOVE
-paramiko.sftp_handle.SFTP_EOF paramiko.sftp_handle-module.html#SFTP_EOF
-paramiko.sftp_handle.CMD_FSETSTAT paramiko.sftp_handle-module.html#CMD_FSETSTAT
-paramiko.sftp_handle.SFTP_FLAG_TRUNC paramiko.sftp_handle-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp_handle.CMD_SETSTAT paramiko.sftp_handle-module.html#CMD_SETSTAT
-paramiko.sftp_handle.ERROR paramiko.sftp_handle-module.html#ERROR
-paramiko.sftp_handle.DEBUG paramiko.sftp_handle-module.html#DEBUG
-paramiko.sftp_handle.CMD_FSTAT paramiko.sftp_handle-module.html#CMD_FSTAT
-paramiko.sftp_handle.MSG_USERAUTH_BANNER paramiko.sftp_handle-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp_handle.CMD_OPENDIR paramiko.sftp_handle-module.html#CMD_OPENDIR
-paramiko.sftp_handle.SFTP_FAILURE paramiko.sftp_handle-module.html#SFTP_FAILURE
-paramiko.sftp_handle.SFTP_NO_CONNECTION paramiko.sftp_handle-module.html#SFTP_NO_CONNECTION
-paramiko.sftp_handle.AUTH_FAILED paramiko.sftp_handle-module.html#AUTH_FAILED
-paramiko.sftp_handle.MSG_REQUEST_SUCCESS paramiko.sftp_handle-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp_handle.AUTH_SUCCESSFUL paramiko.sftp_handle-module.html#AUTH_SUCCESSFUL
-paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp_handle-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST paramiko.sftp_handle-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_INFO_REQUEST paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_handle.CMD_ATTRS paramiko.sftp_handle-module.html#CMD_ATTRS
-paramiko.sftp_handle.CMD_EXTENDED_REPLY paramiko.sftp_handle-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp_handle.MSG_DISCONNECT paramiko.sftp_handle-module.html#MSG_DISCONNECT
-paramiko.sftp_handle.MSG_IGNORE paramiko.sftp_handle-module.html#MSG_IGNORE
-paramiko.sftp_handle.SFTP_FLAG_EXCL paramiko.sftp_handle-module.html#SFTP_FLAG_EXCL
-paramiko.sftp_handle.SFTP_NO_SUCH_FILE paramiko.sftp_handle-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp_handle.MSG_USERAUTH_FAILURE paramiko.sftp_handle-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp_handle.MSG_KEXINIT paramiko.sftp_handle-module.html#MSG_KEXINIT
-paramiko.sftp_handle.MSG_CHANNEL_DATA paramiko.sftp_handle-module.html#MSG_CHANNEL_DATA
-paramiko.sftp_handle.CMD_CLOSE paramiko.sftp_handle-module.html#CMD_CLOSE
-paramiko.sftp_handle.CMD_RENAME paramiko.sftp_handle-module.html#CMD_RENAME
-paramiko.sftp_handle.SFTP_FLAG_CREATE paramiko.sftp_handle-module.html#SFTP_FLAG_CREATE
-paramiko.sftp_handle.MSG_DEBUG paramiko.sftp_handle-module.html#MSG_DEBUG
-paramiko.sftp_handle.SFTP_PERMISSION_DENIED paramiko.sftp_handle-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp_handle.OPEN_SUCCEEDED paramiko.sftp_handle-module.html#OPEN_SUCCEEDED
-paramiko.sftp_handle.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp_handle-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_handle.CMD_DATA paramiko.sftp_handle-module.html#CMD_DATA
-paramiko.sftp_handle.MSG_UNIMPLEMENTED paramiko.sftp_handle-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp_handle.INFO paramiko.sftp_handle-module.html#INFO
-paramiko.sftp_handle.CMD_STAT paramiko.sftp_handle-module.html#CMD_STAT
-paramiko.sftp_handle.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp_handle-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp_handle-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_handle.CMD_NAME paramiko.sftp_handle-module.html#CMD_NAME
-paramiko.sftp_handle.CONNECTION_FAILED_CODE paramiko.sftp_handle-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp_handle.CMD_HANDLE paramiko.sftp_handle-module.html#CMD_HANDLE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp_handle.CMD_RMDIR paramiko.sftp_handle-module.html#CMD_RMDIR
-paramiko.sftp_handle.SFTP_OK paramiko.sftp_handle-module.html#SFTP_OK
-paramiko.sftp_handle.CMD_READ paramiko.sftp_handle-module.html#CMD_READ
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_handle.MSG_REQUEST_FAILURE paramiko.sftp_handle-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp_handle.CMD_STATUS paramiko.sftp_handle-module.html#CMD_STATUS
-paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp_handle-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp_handle-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_handle.MSG_CHANNEL_FAILURE paramiko.sftp_handle-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp_handle.rng paramiko.sftp_handle-module.html#rng
-paramiko.sftp_handle.SFTP_CONNECTION_LOST paramiko.sftp_handle-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp_handle.OPEN_FAILED_CONNECT_FAILED paramiko.sftp_handle-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_handle.MSG_USERAUTH_REQUEST paramiko.sftp_handle-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp_handle.MSG_SERVICE_REQUEST paramiko.sftp_handle-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp_handle.CMD_REALPATH paramiko.sftp_handle-module.html#CMD_REALPATH
-paramiko.sftp_handle.MSG_CHANNEL_CLOSE paramiko.sftp_handle-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_server paramiko.sftp_server-module.html
-paramiko.sftp_server.MSG_NAMES paramiko.sftp_server-module.html#MSG_NAMES
-paramiko.sftp_server.CMD_MKDIR paramiko.sftp_server-module.html#CMD_MKDIR
-paramiko.sftp_server.SFTP_FLAG_APPEND paramiko.sftp_server-module.html#SFTP_FLAG_APPEND
-paramiko.sftp_server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp_server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_server.SFTP_DESC paramiko.sftp_server-module.html#SFTP_DESC
-paramiko.sftp_server.CMD_LSTAT paramiko.sftp_server-module.html#CMD_LSTAT
-paramiko.sftp_server.MSG_GLOBAL_REQUEST paramiko.sftp_server-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_SUCCESS paramiko.sftp_server-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp_server.CRITICAL paramiko.sftp_server-module.html#CRITICAL
-paramiko.sftp_server.SFTP_FLAG_READ paramiko.sftp_server-module.html#SFTP_FLAG_READ
-paramiko.sftp_server.CMD_SYMLINK paramiko.sftp_server-module.html#CMD_SYMLINK
-paramiko.sftp_server.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp_server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_server.CMD_VERSION paramiko.sftp_server-module.html#CMD_VERSION
-paramiko.sftp_server.CMD_INIT paramiko.sftp_server-module.html#CMD_INIT
-paramiko.sftp_server.CMD_EXTENDED paramiko.sftp_server-module.html#CMD_EXTENDED
-paramiko.sftp_server.MSG_CHANNEL_EOF paramiko.sftp_server-module.html#MSG_CHANNEL_EOF
-paramiko.sftp_server.SFTP_BAD_MESSAGE paramiko.sftp_server-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp_server.PY22 paramiko.sftp_server-module.html#PY22
-paramiko.sftp_server.CMD_READLINK paramiko.sftp_server-module.html#CMD_READLINK
-paramiko.sftp_server.__package__ paramiko.sftp_server-module.html#__package__
-paramiko.sftp_server.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp_server-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_server.MSG_NEWKEYS paramiko.sftp_server-module.html#MSG_NEWKEYS
-paramiko.sftp_server.MSG_USERAUTH_SUCCESS paramiko.sftp_server-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp_server.MSG_USERAUTH_PK_OK paramiko.sftp_server-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp_server.CMD_READDIR paramiko.sftp_server-module.html#CMD_READDIR
-paramiko.sftp_server.SFTP_FLAG_WRITE paramiko.sftp_server-module.html#SFTP_FLAG_WRITE
-paramiko.sftp_server.CMD_NAMES paramiko.sftp_server-module.html#CMD_NAMES
-paramiko.sftp_server.CMD_WRITE paramiko.sftp_server-module.html#CMD_WRITE
-paramiko.sftp_server.CMD_OPEN paramiko.sftp_server-module.html#CMD_OPEN
-paramiko.sftp_server.MSG_SERVICE_ACCEPT paramiko.sftp_server-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp_server.WARNING paramiko.sftp_server-module.html#WARNING
-paramiko.sftp_server.CMD_REMOVE paramiko.sftp_server-module.html#CMD_REMOVE
-paramiko.sftp_server.SFTP_EOF paramiko.sftp_server-module.html#SFTP_EOF
-paramiko.sftp_server.CMD_FSETSTAT paramiko.sftp_server-module.html#CMD_FSETSTAT
-paramiko.sftp_server.SFTP_FLAG_TRUNC paramiko.sftp_server-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp_server.CMD_SETSTAT paramiko.sftp_server-module.html#CMD_SETSTAT
-paramiko.sftp_server.ERROR paramiko.sftp_server-module.html#ERROR
-paramiko.sftp_server.DEBUG paramiko.sftp_server-module.html#DEBUG
-paramiko.sftp_server.CMD_FSTAT paramiko.sftp_server-module.html#CMD_FSTAT
-paramiko.sftp_server.MSG_USERAUTH_BANNER paramiko.sftp_server-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp_server.CMD_OPENDIR paramiko.sftp_server-module.html#CMD_OPENDIR
-paramiko.sftp_server.SFTP_FAILURE paramiko.sftp_server-module.html#SFTP_FAILURE
-paramiko.sftp_server.SFTP_NO_CONNECTION paramiko.sftp_server-module.html#SFTP_NO_CONNECTION
-paramiko.sftp_server.AUTH_FAILED paramiko.sftp_server-module.html#AUTH_FAILED
-paramiko.sftp_server.MSG_REQUEST_SUCCESS paramiko.sftp_server-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp_server.AUTH_SUCCESSFUL paramiko.sftp_server-module.html#AUTH_SUCCESSFUL
-paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp_server-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST paramiko.sftp_server-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_INFO_REQUEST paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_server.CMD_ATTRS paramiko.sftp_server-module.html#CMD_ATTRS
-paramiko.sftp_server.CMD_EXTENDED_REPLY paramiko.sftp_server-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp_server.MSG_DISCONNECT paramiko.sftp_server-module.html#MSG_DISCONNECT
-paramiko.sftp_server.MSG_IGNORE paramiko.sftp_server-module.html#MSG_IGNORE
-paramiko.sftp_server.SFTP_FLAG_EXCL paramiko.sftp_server-module.html#SFTP_FLAG_EXCL
-paramiko.sftp_server.SFTP_NO_SUCH_FILE paramiko.sftp_server-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp_server.MSG_USERAUTH_FAILURE paramiko.sftp_server-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp_server.MSG_KEXINIT paramiko.sftp_server-module.html#MSG_KEXINIT
-paramiko.sftp_server.MSG_CHANNEL_DATA paramiko.sftp_server-module.html#MSG_CHANNEL_DATA
-paramiko.sftp_server.CMD_CLOSE paramiko.sftp_server-module.html#CMD_CLOSE
-paramiko.sftp_server.CMD_RENAME paramiko.sftp_server-module.html#CMD_RENAME
-paramiko.sftp_server.SFTP_FLAG_CREATE paramiko.sftp_server-module.html#SFTP_FLAG_CREATE
-paramiko.sftp_server.MSG_DEBUG paramiko.sftp_server-module.html#MSG_DEBUG
-paramiko.sftp_server.SFTP_PERMISSION_DENIED paramiko.sftp_server-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp_server.OPEN_SUCCEEDED paramiko.sftp_server-module.html#OPEN_SUCCEEDED
-paramiko.sftp_server._hash_class paramiko.sftp_server-module.html#_hash_class
-paramiko.sftp_server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp_server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_server.CMD_DATA paramiko.sftp_server-module.html#CMD_DATA
-paramiko.sftp_server.MSG_UNIMPLEMENTED paramiko.sftp_server-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp_server.INFO paramiko.sftp_server-module.html#INFO
-paramiko.sftp_server.CMD_STAT paramiko.sftp_server-module.html#CMD_STAT
-paramiko.sftp_server.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp_server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp_server-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_server.CMD_NAME paramiko.sftp_server-module.html#CMD_NAME
-paramiko.sftp_server.CONNECTION_FAILED_CODE paramiko.sftp_server-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp_server.CMD_HANDLE paramiko.sftp_server-module.html#CMD_HANDLE
-paramiko.sftp_server.MSG_CHANNEL_OPEN paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp_server.CMD_RMDIR paramiko.sftp_server-module.html#CMD_RMDIR
-paramiko.sftp_server.SFTP_OK paramiko.sftp_server-module.html#SFTP_OK
-paramiko.sftp_server.CMD_READ paramiko.sftp_server-module.html#CMD_READ
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_server.MSG_REQUEST_FAILURE paramiko.sftp_server-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp_server.CMD_STATUS paramiko.sftp_server-module.html#CMD_STATUS
-paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp_server-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp_server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_server.MSG_CHANNEL_FAILURE paramiko.sftp_server-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp_server.rng paramiko.sftp_server-module.html#rng
-paramiko.sftp_server.SFTP_CONNECTION_LOST paramiko.sftp_server-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp_server.OPEN_FAILED_CONNECT_FAILED paramiko.sftp_server-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_server.MSG_USERAUTH_REQUEST paramiko.sftp_server-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp_server.MSG_SERVICE_REQUEST paramiko.sftp_server-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp_server.CMD_REALPATH paramiko.sftp_server-module.html#CMD_REALPATH
-paramiko.sftp_server.MSG_CHANNEL_CLOSE paramiko.sftp_server-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_si paramiko.sftp_si-module.html
-paramiko.sftp_si.MSG_NAMES paramiko.sftp_si-module.html#MSG_NAMES
-paramiko.sftp_si.CMD_MKDIR paramiko.sftp_si-module.html#CMD_MKDIR
-paramiko.sftp_si.SFTP_FLAG_APPEND paramiko.sftp_si-module.html#SFTP_FLAG_APPEND
-paramiko.sftp_si.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.sftp_si-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_si.SFTP_DESC paramiko.sftp_si-module.html#SFTP_DESC
-paramiko.sftp_si.CMD_LSTAT paramiko.sftp_si-module.html#CMD_LSTAT
-paramiko.sftp_si.MSG_GLOBAL_REQUEST paramiko.sftp_si-module.html#MSG_GLOBAL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_SUCCESS paramiko.sftp_si-module.html#MSG_CHANNEL_SUCCESS
-paramiko.sftp_si.CRITICAL paramiko.sftp_si-module.html#CRITICAL
-paramiko.sftp_si.SFTP_FLAG_READ paramiko.sftp_si-module.html#SFTP_FLAG_READ
-paramiko.sftp_si.CMD_SYMLINK paramiko.sftp_si-module.html#CMD_SYMLINK
-paramiko.sftp_si.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.sftp_si-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_si.CMD_VERSION paramiko.sftp_si-module.html#CMD_VERSION
-paramiko.sftp_si.CMD_INIT paramiko.sftp_si-module.html#CMD_INIT
-paramiko.sftp_si.CMD_EXTENDED paramiko.sftp_si-module.html#CMD_EXTENDED
-paramiko.sftp_si.MSG_CHANNEL_EOF paramiko.sftp_si-module.html#MSG_CHANNEL_EOF
-paramiko.sftp_si.SFTP_BAD_MESSAGE paramiko.sftp_si-module.html#SFTP_BAD_MESSAGE
-paramiko.sftp_si.PY22 paramiko.sftp_si-module.html#PY22
-paramiko.sftp_si.CMD_READLINK paramiko.sftp_si-module.html#CMD_READLINK
-paramiko.sftp_si.__package__ paramiko.sftp_si-module.html#__package__
-paramiko.sftp_si.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.sftp_si-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_si.MSG_NEWKEYS paramiko.sftp_si-module.html#MSG_NEWKEYS
-paramiko.sftp_si.MSG_USERAUTH_SUCCESS paramiko.sftp_si-module.html#MSG_USERAUTH_SUCCESS
-paramiko.sftp_si.MSG_USERAUTH_PK_OK paramiko.sftp_si-module.html#MSG_USERAUTH_PK_OK
-paramiko.sftp_si.CMD_READDIR paramiko.sftp_si-module.html#CMD_READDIR
-paramiko.sftp_si.SFTP_FLAG_WRITE paramiko.sftp_si-module.html#SFTP_FLAG_WRITE
-paramiko.sftp_si.CMD_NAMES paramiko.sftp_si-module.html#CMD_NAMES
-paramiko.sftp_si.CMD_WRITE paramiko.sftp_si-module.html#CMD_WRITE
-paramiko.sftp_si.CMD_OPEN paramiko.sftp_si-module.html#CMD_OPEN
-paramiko.sftp_si.MSG_SERVICE_ACCEPT paramiko.sftp_si-module.html#MSG_SERVICE_ACCEPT
-paramiko.sftp_si.WARNING paramiko.sftp_si-module.html#WARNING
-paramiko.sftp_si.CMD_REMOVE paramiko.sftp_si-module.html#CMD_REMOVE
-paramiko.sftp_si.SFTP_EOF paramiko.sftp_si-module.html#SFTP_EOF
-paramiko.sftp_si.CMD_FSETSTAT paramiko.sftp_si-module.html#CMD_FSETSTAT
-paramiko.sftp_si.SFTP_FLAG_TRUNC paramiko.sftp_si-module.html#SFTP_FLAG_TRUNC
-paramiko.sftp_si.CMD_SETSTAT paramiko.sftp_si-module.html#CMD_SETSTAT
-paramiko.sftp_si.ERROR paramiko.sftp_si-module.html#ERROR
-paramiko.sftp_si.DEBUG paramiko.sftp_si-module.html#DEBUG
-paramiko.sftp_si.CMD_FSTAT paramiko.sftp_si-module.html#CMD_FSTAT
-paramiko.sftp_si.MSG_USERAUTH_BANNER paramiko.sftp_si-module.html#MSG_USERAUTH_BANNER
-paramiko.sftp_si.CMD_OPENDIR paramiko.sftp_si-module.html#CMD_OPENDIR
-paramiko.sftp_si.SFTP_FAILURE paramiko.sftp_si-module.html#SFTP_FAILURE
-paramiko.sftp_si.SFTP_NO_CONNECTION paramiko.sftp_si-module.html#SFTP_NO_CONNECTION
-paramiko.sftp_si.AUTH_FAILED paramiko.sftp_si-module.html#AUTH_FAILED
-paramiko.sftp_si.MSG_REQUEST_SUCCESS paramiko.sftp_si-module.html#MSG_REQUEST_SUCCESS
-paramiko.sftp_si.AUTH_SUCCESSFUL paramiko.sftp_si-module.html#AUTH_SUCCESSFUL
-paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST paramiko.sftp_si-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST paramiko.sftp_si-module.html#MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_INFO_REQUEST paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_si.CMD_ATTRS paramiko.sftp_si-module.html#CMD_ATTRS
-paramiko.sftp_si.CMD_EXTENDED_REPLY paramiko.sftp_si-module.html#CMD_EXTENDED_REPLY
-paramiko.sftp_si.MSG_DISCONNECT paramiko.sftp_si-module.html#MSG_DISCONNECT
-paramiko.sftp_si.MSG_IGNORE paramiko.sftp_si-module.html#MSG_IGNORE
-paramiko.sftp_si.SFTP_FLAG_EXCL paramiko.sftp_si-module.html#SFTP_FLAG_EXCL
-paramiko.sftp_si.SFTP_NO_SUCH_FILE paramiko.sftp_si-module.html#SFTP_NO_SUCH_FILE
-paramiko.sftp_si.MSG_USERAUTH_FAILURE paramiko.sftp_si-module.html#MSG_USERAUTH_FAILURE
-paramiko.sftp_si.MSG_KEXINIT paramiko.sftp_si-module.html#MSG_KEXINIT
-paramiko.sftp_si.MSG_CHANNEL_DATA paramiko.sftp_si-module.html#MSG_CHANNEL_DATA
-paramiko.sftp_si.CMD_CLOSE paramiko.sftp_si-module.html#CMD_CLOSE
-paramiko.sftp_si.CMD_RENAME paramiko.sftp_si-module.html#CMD_RENAME
-paramiko.sftp_si.SFTP_FLAG_CREATE paramiko.sftp_si-module.html#SFTP_FLAG_CREATE
-paramiko.sftp_si.MSG_DEBUG paramiko.sftp_si-module.html#MSG_DEBUG
-paramiko.sftp_si.SFTP_PERMISSION_DENIED paramiko.sftp_si-module.html#SFTP_PERMISSION_DENIED
-paramiko.sftp_si.OPEN_SUCCEEDED paramiko.sftp_si-module.html#OPEN_SUCCEEDED
-paramiko.sftp_si.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.sftp_si-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_si.CMD_DATA paramiko.sftp_si-module.html#CMD_DATA
-paramiko.sftp_si.MSG_UNIMPLEMENTED paramiko.sftp_si-module.html#MSG_UNIMPLEMENTED
-paramiko.sftp_si.INFO paramiko.sftp_si-module.html#INFO
-paramiko.sftp_si.CMD_STAT paramiko.sftp_si-module.html#CMD_STAT
-paramiko.sftp_si.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.sftp_si-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA paramiko.sftp_si-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_si.CMD_NAME paramiko.sftp_si-module.html#CMD_NAME
-paramiko.sftp_si.CONNECTION_FAILED_CODE paramiko.sftp_si-module.html#CONNECTION_FAILED_CODE
-paramiko.sftp_si.CMD_HANDLE paramiko.sftp_si-module.html#CMD_HANDLE
-paramiko.sftp_si.MSG_CHANNEL_OPEN paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN
-paramiko.sftp_si.CMD_RMDIR paramiko.sftp_si-module.html#CMD_RMDIR
-paramiko.sftp_si.SFTP_OK paramiko.sftp_si-module.html#SFTP_OK
-paramiko.sftp_si.CMD_READ paramiko.sftp_si-module.html#CMD_READ
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_si.MSG_REQUEST_FAILURE paramiko.sftp_si-module.html#MSG_REQUEST_FAILURE
-paramiko.sftp_si.CMD_STATUS paramiko.sftp_si-module.html#CMD_STATUS
-paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL paramiko.sftp_si-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.sftp_si-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_si.MSG_CHANNEL_FAILURE paramiko.sftp_si-module.html#MSG_CHANNEL_FAILURE
-paramiko.sftp_si.rng paramiko.sftp_si-module.html#rng
-paramiko.sftp_si.SFTP_CONNECTION_LOST paramiko.sftp_si-module.html#SFTP_CONNECTION_LOST
-paramiko.sftp_si.OPEN_FAILED_CONNECT_FAILED paramiko.sftp_si-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_si.MSG_USERAUTH_REQUEST paramiko.sftp_si-module.html#MSG_USERAUTH_REQUEST
-paramiko.sftp_si.MSG_SERVICE_REQUEST paramiko.sftp_si-module.html#MSG_SERVICE_REQUEST
-paramiko.sftp_si.CMD_REALPATH paramiko.sftp_si-module.html#CMD_REALPATH
-paramiko.sftp_si.MSG_CHANNEL_CLOSE paramiko.sftp_si-module.html#MSG_CHANNEL_CLOSE
-paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.ssh_exception paramiko.ssh_exception-module.html
-paramiko.ssh_exception.__package__ paramiko.ssh_exception-module.html#__package__
-paramiko.transport paramiko.transport-module.html
-paramiko.transport.MSG_NAMES paramiko.transport-module.html#MSG_NAMES
-paramiko.transport.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.transport-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.transport.MSG_GLOBAL_REQUEST paramiko.transport-module.html#MSG_GLOBAL_REQUEST
-paramiko.transport._active_threads paramiko.transport-module.html#_active_threads
-paramiko.transport.MSG_CHANNEL_SUCCESS paramiko.transport-module.html#MSG_CHANNEL_SUCCESS
-paramiko.transport.CRITICAL paramiko.transport-module.html#CRITICAL
-paramiko.transport.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.transport-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.transport.MSG_CHANNEL_OPEN_FAILURE paramiko.transport-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.transport.PY22 paramiko.transport-module.html#PY22
-paramiko.transport.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.transport-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.transport.MSG_NEWKEYS paramiko.transport-module.html#MSG_NEWKEYS
-paramiko.transport.MSG_USERAUTH_SUCCESS paramiko.transport-module.html#MSG_USERAUTH_SUCCESS
-paramiko.transport.MSG_KEXINIT paramiko.transport-module.html#MSG_KEXINIT
-paramiko.transport.MSG_SERVICE_ACCEPT paramiko.transport-module.html#MSG_SERVICE_ACCEPT
-paramiko.transport.WARNING paramiko.transport-module.html#WARNING
-paramiko.transport.ERROR paramiko.transport-module.html#ERROR
-paramiko.transport.DEBUG paramiko.transport-module.html#DEBUG
-paramiko.transport.MSG_USERAUTH_BANNER paramiko.transport-module.html#MSG_USERAUTH_BANNER
-paramiko.transport.MSG_CHANNEL_EOF paramiko.transport-module.html#MSG_CHANNEL_EOF
-paramiko.transport.AUTH_FAILED paramiko.transport-module.html#AUTH_FAILED
-paramiko.transport.MSG_USERAUTH_PK_OK paramiko.transport-module.html#MSG_USERAUTH_PK_OK
-paramiko.transport.AUTH_SUCCESSFUL paramiko.transport-module.html#AUTH_SUCCESSFUL
-paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST paramiko.transport-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.transport.MSG_CHANNEL_REQUEST paramiko.transport-module.html#MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_USERAUTH_INFO_REQUEST paramiko.transport-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.transport.MSG_DISCONNECT paramiko.transport-module.html#MSG_DISCONNECT
-paramiko.transport.MSG_IGNORE paramiko.transport-module.html#MSG_IGNORE
-paramiko.transport.MSG_USERAUTH_FAILURE paramiko.transport-module.html#MSG_USERAUTH_FAILURE
-paramiko.transport.MSG_CHANNEL_DATA paramiko.transport-module.html#MSG_CHANNEL_DATA
-paramiko.transport.MSG_UNIMPLEMENTED paramiko.transport-module.html#MSG_UNIMPLEMENTED
-paramiko.transport.MSG_DEBUG paramiko.transport-module.html#MSG_DEBUG
-paramiko.transport.OPEN_SUCCEEDED paramiko.transport-module.html#OPEN_SUCCEEDED
-paramiko.transport.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.transport-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.transport.INFO paramiko.transport-module.html#INFO
-paramiko.transport.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.transport-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.transport.MSG_CHANNEL_EXTENDED_DATA paramiko.transport-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.transport.CONNECTION_FAILED_CODE paramiko.transport-module.html#CONNECTION_FAILED_CODE
-paramiko.transport.MSG_CHANNEL_OPEN paramiko.transport-module.html#MSG_CHANNEL_OPEN
-paramiko.transport.MSG_USERAUTH_INFO_RESPONSE paramiko.transport-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.transport.MSG_REQUEST_FAILURE paramiko.transport-module.html#MSG_REQUEST_FAILURE
-paramiko.transport.__package__ paramiko.transport-module.html#__package__
-paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL paramiko.transport-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.transport-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.transport.MSG_CHANNEL_FAILURE paramiko.transport-module.html#MSG_CHANNEL_FAILURE
-paramiko.transport.rng paramiko.transport-module.html#rng
-paramiko.transport.MSG_REQUEST_SUCCESS paramiko.transport-module.html#MSG_REQUEST_SUCCESS
-paramiko.transport.OPEN_FAILED_CONNECT_FAILED paramiko.transport-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.transport.MSG_USERAUTH_REQUEST paramiko.transport-module.html#MSG_USERAUTH_REQUEST
-paramiko.transport._join_lingering_threads paramiko.transport-module.html#_join_lingering_threads
-paramiko.transport.MSG_SERVICE_REQUEST paramiko.transport-module.html#MSG_SERVICE_REQUEST
-paramiko.transport.MSG_CHANNEL_CLOSE paramiko.transport-module.html#MSG_CHANNEL_CLOSE
-paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS paramiko.transport-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.util paramiko.util-module.html
-paramiko.util.AUTH_SUCCESSFUL paramiko.util-module.html#AUTH_SUCCESSFUL
-paramiko.util.generate_key_bytes paramiko.util-module.html#generate_key_bytes
-paramiko.util.MSG_KEXINIT paramiko.util-module.html#MSG_KEXINIT
-paramiko.util.MSG_CHANNEL_WINDOW_ADJUST paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST
-paramiko.util.MSG_CHANNEL_REQUEST paramiko.util-module.html#MSG_CHANNEL_REQUEST
-paramiko.util.MSG_NAMES paramiko.util-module.html#MSG_NAMES
-paramiko.util.get_thread_id paramiko.util-module.html#get_thread_id
-paramiko.util.lookup_ssh_host_config paramiko.util-module.html#lookup_ssh_host_config
-paramiko.util.MSG_CHANNEL_OPEN paramiko.util-module.html#MSG_CHANNEL_OPEN
-paramiko.util.tb_strings paramiko.util-module.html#tb_strings
-paramiko.util.load_host_keys paramiko.util-module.html#load_host_keys
-paramiko.util.MSG_REQUEST_SUCCESS paramiko.util-module.html#MSG_REQUEST_SUCCESS
-paramiko.util.MSG_DISCONNECT paramiko.util-module.html#MSG_DISCONNECT
-paramiko.util.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE paramiko.util-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.util.MSG_SERVICE_ACCEPT paramiko.util-module.html#MSG_SERVICE_ACCEPT
-paramiko.util.MSG_IGNORE paramiko.util-module.html#MSG_IGNORE
-paramiko.util._g_thread_lock paramiko.util-module.html#_g_thread_lock
-paramiko.util.deflate_long paramiko.util-module.html#deflate_long
-paramiko.util.MSG_GLOBAL_REQUEST paramiko.util-module.html#MSG_GLOBAL_REQUEST
-paramiko.util.MSG_USERAUTH_INFO_RESPONSE paramiko.util-module.html#MSG_USERAUTH_INFO_RESPONSE
-paramiko.util.get_logger paramiko.util-module.html#get_logger
-paramiko.util.MSG_CHANNEL_SUCCESS paramiko.util-module.html#MSG_CHANNEL_SUCCESS
-paramiko.util.MSG_USERAUTH_FAILURE paramiko.util-module.html#MSG_USERAUTH_FAILURE
-paramiko.util.MSG_REQUEST_FAILURE paramiko.util-module.html#MSG_REQUEST_FAILURE
-paramiko.util.inflate_long paramiko.util-module.html#inflate_long
-paramiko.util.__package__ paramiko.util-module.html#__package__
-paramiko.util.safe_string paramiko.util-module.html#safe_string
-paramiko.util._g_thread_counter paramiko.util-module.html#_g_thread_counter
-paramiko.util.MSG_CHANNEL_DATA paramiko.util-module.html#MSG_CHANNEL_DATA
-paramiko.util.CRITICAL paramiko.util-module.html#CRITICAL
-paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.util.parse_ssh_config paramiko.util-module.html#parse_ssh_config
-paramiko.util.MSG_UNIMPLEMENTED paramiko.util-module.html#MSG_UNIMPLEMENTED
-paramiko.util.bit_length paramiko.util-module.html#bit_length
-paramiko.util.unhexify paramiko.util-module.html#unhexify
-paramiko.util.MSG_CHANNEL_OPEN_FAILURE paramiko.util-module.html#MSG_CHANNEL_OPEN_FAILURE
-paramiko.util.MSG_USERAUTH_INFO_REQUEST paramiko.util-module.html#MSG_USERAUTH_INFO_REQUEST
-paramiko.util.log_to_file paramiko.util-module.html#log_to_file
-paramiko.util.MSG_DEBUG paramiko.util-module.html#MSG_DEBUG
-paramiko.util.MSG_CHANNEL_FAILURE paramiko.util-module.html#MSG_CHANNEL_FAILURE
-paramiko.util.OPEN_SUCCEEDED paramiko.util-module.html#OPEN_SUCCEEDED
-paramiko.util.format_binary_weird paramiko.util-module.html#format_binary_weird
-paramiko.util.format_binary_line paramiko.util-module.html#format_binary_line
-paramiko.util.rng paramiko.util-module.html#rng
-paramiko.util.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE paramiko.util-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.util.OPEN_FAILED_RESOURCE_SHORTAGE paramiko.util-module.html#OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.util.ERROR paramiko.util-module.html#ERROR
-paramiko.util.DEBUG paramiko.util-module.html#DEBUG
-paramiko.util.AUTH_PARTIALLY_SUCCESSFUL paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL
-paramiko.util.hexify paramiko.util-module.html#hexify
-paramiko.util.OPEN_FAILED_CONNECT_FAILED paramiko.util-module.html#OPEN_FAILED_CONNECT_FAILED
-paramiko.util.INFO paramiko.util-module.html#INFO
-paramiko.util.MSG_USERAUTH_BANNER paramiko.util-module.html#MSG_USERAUTH_BANNER
-paramiko.util.MSG_NEWKEYS paramiko.util-module.html#MSG_NEWKEYS
-paramiko.util.MSG_USERAUTH_PK_OK paramiko.util-module.html#MSG_USERAUTH_PK_OK
-paramiko.util.WARNING paramiko.util-module.html#WARNING
-paramiko.util.mod_inverse paramiko.util-module.html#mod_inverse
-paramiko.util.MSG_USERAUTH_REQUEST paramiko.util-module.html#MSG_USERAUTH_REQUEST
-paramiko.util.DISCONNECT_SERVICE_NOT_AVAILABLE paramiko.util-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.util.PY22 paramiko.util-module.html#PY22
-paramiko.util.MSG_SERVICE_REQUEST paramiko.util-module.html#MSG_SERVICE_REQUEST
-paramiko.util.AUTH_FAILED paramiko.util-module.html#AUTH_FAILED
-paramiko.util._pfilter paramiko.util-module.html#_pfilter
-paramiko.util.MSG_CHANNEL_EXTENDED_DATA paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA
-paramiko.util.format_binary paramiko.util-module.html#format_binary
-paramiko.util.MSG_CHANNEL_CLOSE paramiko.util-module.html#MSG_CHANNEL_CLOSE
-paramiko.util.DISCONNECT_AUTH_CANCELLED_BY_USER paramiko.util-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.util.MSG_CHANNEL_OPEN_SUCCESS paramiko.util-module.html#MSG_CHANNEL_OPEN_SUCCESS
-paramiko.util.MSG_CHANNEL_EOF paramiko.util-module.html#MSG_CHANNEL_EOF
-paramiko.util._g_thread_ids paramiko.util-module.html#_g_thread_ids
-paramiko.util.MSG_USERAUTH_SUCCESS paramiko.util-module.html#MSG_USERAUTH_SUCCESS
-paramiko.util.CONNECTION_FAILED_CODE paramiko.util-module.html#CONNECTION_FAILED_CODE
-paramiko.win_pageant paramiko.win_pageant-module.html
-paramiko.win_pageant.win32con_WM_COPYDATA paramiko.win_pageant-module.html#win32con_WM_COPYDATA
-paramiko.win_pageant._AGENT_MAX_MSGLEN paramiko.win_pageant-module.html#_AGENT_MAX_MSGLEN
-paramiko.win_pageant._query_pageant paramiko.win_pageant-module.html#_query_pageant
-paramiko.win_pageant.__package__ paramiko.win_pageant-module.html#__package__
-paramiko.win_pageant._AGENT_COPYDATA_ID paramiko.win_pageant-module.html#_AGENT_COPYDATA_ID
-paramiko.win_pageant._get_pageant_window_object paramiko.win_pageant-module.html#_get_pageant_window_object
-paramiko.win_pageant._has_win32all paramiko.win_pageant-module.html#_has_win32all
-paramiko.win_pageant._has_ctypes paramiko.win_pageant-module.html#_has_ctypes
-paramiko.win_pageant.can_talk_to_agent paramiko.win_pageant-module.html#can_talk_to_agent
-paramiko.Agent paramiko.Agent-class.html
-paramiko.Agent._send_message paramiko.Agent-class.html#_send_message
-paramiko.Agent.close paramiko.Agent-class.html#close
-paramiko.Agent.get_keys paramiko.Agent-class.html#get_keys
-paramiko.Agent.__init__ paramiko.Agent-class.html#__init__
-paramiko.Agent._read_all paramiko.Agent-class.html#_read_all
-paramiko.AgentKey paramiko.AgentKey-class.html
-paramiko.AgentKey.sign_ssh_data paramiko.AgentKey-class.html#sign_ssh_data
-paramiko.PKey.write_private_key_file paramiko.PKey-class.html#write_private_key_file
-paramiko.AgentKey.__str__ paramiko.AgentKey-class.html#__str__
-paramiko.PKey._write_private_key_file paramiko.PKey-class.html#_write_private_key_file
-paramiko.PKey.__cmp__ paramiko.PKey-class.html#__cmp__
-paramiko.AgentKey.__init__ paramiko.AgentKey-class.html#__init__
-paramiko.PKey.get_bits paramiko.PKey-class.html#get_bits
-paramiko.PKey.from_private_key paramiko.PKey-class.html#from_private_key
-paramiko.PKey.from_private_key_file paramiko.PKey-class.html#from_private_key_file
-paramiko.PKey.verify_ssh_sig paramiko.PKey-class.html#verify_ssh_sig
-paramiko.PKey._CIPHER_TABLE paramiko.PKey-class.html#_CIPHER_TABLE
-paramiko.PKey.get_fingerprint paramiko.PKey-class.html#get_fingerprint
-paramiko.PKey._write_private_key paramiko.PKey-class.html#_write_private_key
-paramiko.PKey.get_base64 paramiko.PKey-class.html#get_base64
-paramiko.PKey._read_private_key paramiko.PKey-class.html#_read_private_key
-paramiko.PKey.write_private_key paramiko.PKey-class.html#write_private_key
-paramiko.AgentKey.get_name paramiko.AgentKey-class.html#get_name
-paramiko.PKey._read_private_key_file paramiko.PKey-class.html#_read_private_key_file
-paramiko.PKey.can_sign paramiko.PKey-class.html#can_sign
-paramiko.AuthenticationException paramiko.AuthenticationException-class.html
-paramiko.AutoAddPolicy paramiko.AutoAddPolicy-class.html
-paramiko.AutoAddPolicy.missing_host_key paramiko.AutoAddPolicy-class.html#missing_host_key
-paramiko.BadAuthenticationType paramiko.BadAuthenticationType-class.html
-paramiko.BadAuthenticationType.__str__ paramiko.BadAuthenticationType-class.html#__str__
-paramiko.BadAuthenticationType.allowed_types paramiko.BadAuthenticationType-class.html#allowed_types
-paramiko.BadAuthenticationType.__init__ paramiko.BadAuthenticationType-class.html#__init__
-paramiko.BadHostKeyException paramiko.BadHostKeyException-class.html
-paramiko.BadHostKeyException.expected_key paramiko.BadHostKeyException-class.html#expected_key
-paramiko.BadHostKeyException.__init__ paramiko.BadHostKeyException-class.html#__init__
-paramiko.BadHostKeyException.hostname paramiko.BadHostKeyException-class.html#hostname
-paramiko.BadHostKeyException.key paramiko.BadHostKeyException-class.html#key
-paramiko.BufferedFile paramiko.BufferedFile-class.html
-paramiko.BufferedFile.xreadlines paramiko.BufferedFile-class.html#xreadlines
-paramiko.BufferedFile.readlines paramiko.BufferedFile-class.html#readlines
-paramiko.BufferedFile.SEEK_CUR paramiko.BufferedFile-class.html#SEEK_CUR
-paramiko.BufferedFile.FLAG_READ paramiko.BufferedFile-class.html#FLAG_READ
-paramiko.BufferedFile.flush paramiko.BufferedFile-class.html#flush
-paramiko.BufferedFile.close paramiko.BufferedFile-class.html#close
-paramiko.BufferedFile._set_mode paramiko.BufferedFile-class.html#_set_mode
-paramiko.BufferedFile._write paramiko.BufferedFile-class.html#_write
-paramiko.BufferedFile.__init__ paramiko.BufferedFile-class.html#__init__
-paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE
-paramiko.BufferedFile.readline paramiko.BufferedFile-class.html#readline
-paramiko.BufferedFile.seek paramiko.BufferedFile-class.html#seek
-paramiko.BufferedFile.next paramiko.BufferedFile-class.html#next
-paramiko.BufferedFile.write paramiko.BufferedFile-class.html#write
-paramiko.BufferedFile.read paramiko.BufferedFile-class.html#read
-paramiko.BufferedFile.tell paramiko.BufferedFile-class.html#tell
-paramiko.BufferedFile.FLAG_BINARY paramiko.BufferedFile-class.html#FLAG_BINARY
-paramiko.BufferedFile.__del__ paramiko.BufferedFile-class.html#__del__
-paramiko.BufferedFile.SEEK_SET paramiko.BufferedFile-class.html#SEEK_SET
-paramiko.BufferedFile.FLAG_APPEND paramiko.BufferedFile-class.html#FLAG_APPEND
-paramiko.BufferedFile.__iter__ paramiko.BufferedFile-class.html#__iter__
-paramiko.BufferedFile._record_newline paramiko.BufferedFile-class.html#_record_newline
-paramiko.BufferedFile._DEFAULT_BUFSIZE paramiko.BufferedFile-class.html#_DEFAULT_BUFSIZE
-paramiko.BufferedFile.FLAG_BUFFERED paramiko.BufferedFile-class.html#FLAG_BUFFERED
-paramiko.BufferedFile._write_all paramiko.BufferedFile-class.html#_write_all
-paramiko.BufferedFile.writelines paramiko.BufferedFile-class.html#writelines
-paramiko.BufferedFile.SEEK_END paramiko.BufferedFile-class.html#SEEK_END
-paramiko.BufferedFile._read paramiko.BufferedFile-class.html#_read
-paramiko.BufferedFile.FLAG_LINE_BUFFERED paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED
-paramiko.BufferedFile._get_size paramiko.BufferedFile-class.html#_get_size
-paramiko.BufferedFile.FLAG_WRITE paramiko.BufferedFile-class.html#FLAG_WRITE
-paramiko.Channel paramiko.Channel-class.html
-paramiko.Channel.makefile_stderr paramiko.Channel-class.html#makefile_stderr
-paramiko.Channel.gettimeout paramiko.Channel-class.html#gettimeout
-paramiko.Channel.shutdown_read paramiko.Channel-class.html#shutdown_read
-paramiko.Channel.set_combine_stderr paramiko.Channel-class.html#set_combine_stderr
-paramiko.Channel.send_ready paramiko.Channel-class.html#send_ready
-paramiko.Channel._unlink paramiko.Channel-class.html#_unlink
-paramiko.Channel.shutdown paramiko.Channel-class.html#shutdown
-paramiko.Channel.get_transport paramiko.Channel-class.html#get_transport
-paramiko.Channel.sendall_stderr paramiko.Channel-class.html#sendall_stderr
-paramiko.Channel.close paramiko.Channel-class.html#close
-paramiko.Channel.send_exit_status paramiko.Channel-class.html#send_exit_status
-paramiko.Channel.recv_stderr paramiko.Channel-class.html#recv_stderr
-paramiko.Channel.__init__ paramiko.Channel-class.html#__init__
-paramiko.Channel._set_closed paramiko.Channel-class.html#_set_closed
-paramiko.Channel.exit_status_ready paramiko.Channel-class.html#exit_status_ready
-paramiko.Channel.request_x11 paramiko.Channel-class.html#request_x11
-paramiko.Channel.recv_ready paramiko.Channel-class.html#recv_ready
-paramiko.Channel._feed_extended paramiko.Channel-class.html#_feed_extended
-paramiko.Channel.shutdown_write paramiko.Channel-class.html#shutdown_write
-paramiko.Channel._set_remote_channel paramiko.Channel-class.html#_set_remote_channel
-paramiko.Channel._feed paramiko.Channel-class.html#_feed
-paramiko.Channel.makefile paramiko.Channel-class.html#makefile
-paramiko.Channel._handle_close paramiko.Channel-class.html#_handle_close
-paramiko.Channel.send paramiko.Channel-class.html#send
-paramiko.Channel._handle_request paramiko.Channel-class.html#_handle_request
-paramiko.Channel.resize_pty paramiko.Channel-class.html#resize_pty
-paramiko.Channel.get_pty paramiko.Channel-class.html#get_pty
-paramiko.Channel.recv_stderr_ready paramiko.Channel-class.html#recv_stderr_ready
-paramiko.Channel._request_success paramiko.Channel-class.html#_request_success
-paramiko.Channel._send_eof paramiko.Channel-class.html#_send_eof
-paramiko.Channel._window_adjust paramiko.Channel-class.html#_window_adjust
-paramiko.Channel._event_pending paramiko.Channel-class.html#_event_pending
-paramiko.Channel.__del__ paramiko.Channel-class.html#__del__
-paramiko.Channel._check_add_window paramiko.Channel-class.html#_check_add_window
-paramiko.Channel.invoke_subsystem paramiko.Channel-class.html#invoke_subsystem
-paramiko.Channel.invoke_shell paramiko.Channel-class.html#invoke_shell
-paramiko.Channel.recv_exit_status paramiko.Channel-class.html#recv_exit_status
-paramiko.Channel._request_failed paramiko.Channel-class.html#_request_failed
-paramiko.Channel.get_id paramiko.Channel-class.html#get_id
-paramiko.Channel.send_stderr paramiko.Channel-class.html#send_stderr
-paramiko.Channel._log paramiko.Channel-class.html#_log
-paramiko.Channel.getpeername paramiko.Channel-class.html#getpeername
-paramiko.Channel.recv paramiko.Channel-class.html#recv
-paramiko.Channel.exec_command paramiko.Channel-class.html#exec_command
-paramiko.Channel.setblocking paramiko.Channel-class.html#setblocking
-paramiko.Channel._wait_for_event paramiko.Channel-class.html#_wait_for_event
-paramiko.Channel.fileno paramiko.Channel-class.html#fileno
-paramiko.Channel.set_name paramiko.Channel-class.html#set_name
-paramiko.Channel._handle_eof paramiko.Channel-class.html#_handle_eof
-paramiko.Channel._close_internal paramiko.Channel-class.html#_close_internal
-paramiko.Channel._set_window paramiko.Channel-class.html#_set_window
-paramiko.Channel._set_transport paramiko.Channel-class.html#_set_transport
-paramiko.Channel.get_name paramiko.Channel-class.html#get_name
-paramiko.Channel.__repr__ paramiko.Channel-class.html#__repr__
-paramiko.Channel.sendall paramiko.Channel-class.html#sendall
-paramiko.Channel._wait_for_send_window paramiko.Channel-class.html#_wait_for_send_window
-paramiko.Channel.settimeout paramiko.Channel-class.html#settimeout
-paramiko.ChannelException paramiko.ChannelException-class.html
-paramiko.ChannelException.code paramiko.ChannelException-class.html#code
-paramiko.ChannelException.__init__ paramiko.ChannelException-class.html#__init__
-paramiko.DSSKey paramiko.DSSKey-class.html
-paramiko.DSSKey.sign_ssh_data paramiko.DSSKey-class.html#sign_ssh_data
-paramiko.DSSKey._from_private_key paramiko.DSSKey-class.html#_from_private_key
-paramiko.DSSKey.write_private_key_file paramiko.DSSKey-class.html#write_private_key_file
-paramiko.DSSKey.__str__ paramiko.DSSKey-class.html#__str__
-paramiko.PKey._write_private_key_file paramiko.PKey-class.html#_write_private_key_file
-paramiko.PKey.__cmp__ paramiko.PKey-class.html#__cmp__
-paramiko.DSSKey.__init__ paramiko.DSSKey-class.html#__init__
-paramiko.DSSKey._from_private_key_file paramiko.DSSKey-class.html#_from_private_key_file
-paramiko.DSSKey.get_bits paramiko.DSSKey-class.html#get_bits
-paramiko.PKey.from_private_key paramiko.PKey-class.html#from_private_key
-paramiko.DSSKey.verify_ssh_sig paramiko.DSSKey-class.html#verify_ssh_sig
-paramiko.DSSKey.can_sign paramiko.DSSKey-class.html#can_sign
-paramiko.PKey.from_private_key_file paramiko.PKey-class.html#from_private_key_file
-paramiko.PKey._CIPHER_TABLE paramiko.PKey-class.html#_CIPHER_TABLE
-paramiko.PKey.get_fingerprint paramiko.PKey-class.html#get_fingerprint
-paramiko.PKey._write_private_key paramiko.PKey-class.html#_write_private_key
-paramiko.PKey.get_base64 paramiko.PKey-class.html#get_base64
-paramiko.PKey._read_private_key paramiko.PKey-class.html#_read_private_key
-paramiko.DSSKey.write_private_key paramiko.DSSKey-class.html#write_private_key
-paramiko.DSSKey.generate paramiko.DSSKey-class.html#generate
-paramiko.DSSKey.get_name paramiko.DSSKey-class.html#get_name
-paramiko.DSSKey._encode_key paramiko.DSSKey-class.html#_encode_key
-paramiko.DSSKey._decode_key paramiko.DSSKey-class.html#_decode_key
-paramiko.DSSKey.__hash__ paramiko.DSSKey-class.html#__hash__
-paramiko.PKey._read_private_key_file paramiko.PKey-class.html#_read_private_key_file
-paramiko.HostKeys paramiko.HostKeys-class.html
-paramiko.HostKeys.load paramiko.HostKeys-class.html#load
-paramiko.HostKeys.check paramiko.HostKeys-class.html#check
-paramiko.HostKeys.__init__ paramiko.HostKeys-class.html#__init__
-paramiko.HostKeys.add paramiko.HostKeys-class.html#add
-paramiko.HostKeys.lookup paramiko.HostKeys-class.html#lookup
-paramiko.HostKeys.save paramiko.HostKeys-class.html#save
-paramiko.HostKeys.__getitem__ paramiko.HostKeys-class.html#__getitem__
-paramiko.HostKeys.keys paramiko.HostKeys-class.html#keys
-paramiko.HostKeys.hash_host paramiko.HostKeys-class.html#hash_host
-paramiko.HostKeys.clear paramiko.HostKeys-class.html#clear
-paramiko.HostKeys.__setitem__ paramiko.HostKeys-class.html#__setitem__
-paramiko.HostKeys.values paramiko.HostKeys-class.html#values
-paramiko.Message paramiko.Message-class.html
-paramiko.Message.get_byte paramiko.Message-class.html#get_byte
-paramiko.Message.__str__ paramiko.Message-class.html#__str__
-paramiko.Message.get_so_far paramiko.Message-class.html#get_so_far
-paramiko.Message._add paramiko.Message-class.html#_add
-paramiko.Message.add_list paramiko.Message-class.html#add_list
-paramiko.Message.__init__ paramiko.Message-class.html#__init__
-paramiko.Message.get_mpint paramiko.Message-class.html#get_mpint
-paramiko.Message.add_byte paramiko.Message-class.html#add_byte
-paramiko.Message.get_list paramiko.Message-class.html#get_list
-paramiko.Message.add paramiko.Message-class.html#add
-paramiko.Message.get_string paramiko.Message-class.html#get_string
-paramiko.Message.rewind paramiko.Message-class.html#rewind
-paramiko.Message.get_bytes paramiko.Message-class.html#get_bytes
-paramiko.Message.get_boolean paramiko.Message-class.html#get_boolean
-paramiko.Message.get_int64 paramiko.Message-class.html#get_int64
-paramiko.Message.add_boolean paramiko.Message-class.html#add_boolean
-paramiko.Message.add_int64 paramiko.Message-class.html#add_int64
-paramiko.Message.add_bytes paramiko.Message-class.html#add_bytes
-paramiko.Message.add_int paramiko.Message-class.html#add_int
-paramiko.Message.get_int paramiko.Message-class.html#get_int
-paramiko.Message.__repr__ paramiko.Message-class.html#__repr__
-paramiko.Message.get_remainder paramiko.Message-class.html#get_remainder
-paramiko.Message.add_string paramiko.Message-class.html#add_string
-paramiko.Message.add_mpint paramiko.Message-class.html#add_mpint
-paramiko.MissingHostKeyPolicy paramiko.MissingHostKeyPolicy-class.html
-paramiko.MissingHostKeyPolicy.missing_host_key paramiko.MissingHostKeyPolicy-class.html#missing_host_key
-paramiko.PKey paramiko.PKey-class.html
-paramiko.PKey.sign_ssh_data paramiko.PKey-class.html#sign_ssh_data
-paramiko.PKey.write_private_key_file paramiko.PKey-class.html#write_private_key_file
-paramiko.PKey.__str__ paramiko.PKey-class.html#__str__
-paramiko.PKey._write_private_key_file paramiko.PKey-class.html#_write_private_key_file
-paramiko.PKey.__cmp__ paramiko.PKey-class.html#__cmp__
-paramiko.PKey.__init__ paramiko.PKey-class.html#__init__
-paramiko.PKey.get_bits paramiko.PKey-class.html#get_bits
-paramiko.PKey.from_private_key paramiko.PKey-class.html#from_private_key
-paramiko.PKey.from_private_key_file paramiko.PKey-class.html#from_private_key_file
-paramiko.PKey.verify_ssh_sig paramiko.PKey-class.html#verify_ssh_sig
-paramiko.PKey._CIPHER_TABLE paramiko.PKey-class.html#_CIPHER_TABLE
-paramiko.PKey.get_fingerprint paramiko.PKey-class.html#get_fingerprint
-paramiko.PKey._write_private_key paramiko.PKey-class.html#_write_private_key
-paramiko.PKey.get_base64 paramiko.PKey-class.html#get_base64
-paramiko.PKey._read_private_key paramiko.PKey-class.html#_read_private_key
-paramiko.PKey.write_private_key paramiko.PKey-class.html#write_private_key
-paramiko.PKey.get_name paramiko.PKey-class.html#get_name
-paramiko.PKey.can_sign paramiko.PKey-class.html#can_sign
-paramiko.PKey._read_private_key_file paramiko.PKey-class.html#_read_private_key_file
-paramiko.PasswordRequiredException paramiko.PasswordRequiredException-class.html
-paramiko.RSAKey paramiko.RSAKey-class.html
-paramiko.RSAKey.sign_ssh_data paramiko.RSAKey-class.html#sign_ssh_data
-paramiko.RSAKey._from_private_key paramiko.RSAKey-class.html#_from_private_key
-paramiko.PKey.from_private_key paramiko.PKey-class.html#from_private_key
-paramiko.RSAKey.__str__ paramiko.RSAKey-class.html#__str__
-paramiko.PKey._write_private_key_file paramiko.PKey-class.html#_write_private_key_file
-paramiko.PKey.__cmp__ paramiko.PKey-class.html#__cmp__
-paramiko.RSAKey.__init__ paramiko.RSAKey-class.html#__init__
-paramiko.RSAKey._from_private_key_file paramiko.RSAKey-class.html#_from_private_key_file
-paramiko.RSAKey.get_bits paramiko.RSAKey-class.html#get_bits
-paramiko.RSAKey.write_private_key_file paramiko.RSAKey-class.html#write_private_key_file
-paramiko.RSAKey.verify_ssh_sig paramiko.RSAKey-class.html#verify_ssh_sig
-paramiko.RSAKey._pkcs1imify paramiko.RSAKey-class.html#_pkcs1imify
-paramiko.PKey.from_private_key_file paramiko.PKey-class.html#from_private_key_file
-paramiko.PKey._CIPHER_TABLE paramiko.PKey-class.html#_CIPHER_TABLE
-paramiko.PKey.get_fingerprint paramiko.PKey-class.html#get_fingerprint
-paramiko.PKey._write_private_key paramiko.PKey-class.html#_write_private_key
-paramiko.PKey.get_base64 paramiko.PKey-class.html#get_base64
-paramiko.PKey._read_private_key paramiko.PKey-class.html#_read_private_key
-paramiko.RSAKey.write_private_key paramiko.RSAKey-class.html#write_private_key
-paramiko.RSAKey.generate paramiko.RSAKey-class.html#generate
-paramiko.PKey._read_private_key_file paramiko.PKey-class.html#_read_private_key_file
-paramiko.RSAKey.get_name paramiko.RSAKey-class.html#get_name
-paramiko.RSAKey.can_sign paramiko.RSAKey-class.html#can_sign
-paramiko.RSAKey._decode_key paramiko.RSAKey-class.html#_decode_key
-paramiko.RSAKey.__hash__ paramiko.RSAKey-class.html#__hash__
-paramiko.RSAKey._encode_key paramiko.RSAKey-class.html#_encode_key
-paramiko.RejectPolicy paramiko.RejectPolicy-class.html
-paramiko.RejectPolicy.missing_host_key paramiko.RejectPolicy-class.html#missing_host_key
-paramiko.SFTP paramiko.SFTP-class.html
-paramiko.SFTPClient.rename paramiko.SFTPClient-class.html#rename
-paramiko.SFTPClient._request paramiko.SFTPClient-class.html#_request
-paramiko.SFTPClient.stat paramiko.SFTPClient-class.html#stat
-paramiko.SFTPClient.chmod paramiko.SFTPClient-class.html#chmod
-paramiko.SFTPClient.file paramiko.SFTPClient-class.html#file
-paramiko.SFTPClient.close paramiko.SFTPClient-class.html#close
-paramiko.SFTPClient.open paramiko.SFTPClient-class.html#open
-paramiko.SFTPClient.__init__ paramiko.SFTPClient-class.html#__init__
-paramiko.SFTPClient.normalize paramiko.SFTPClient-class.html#normalize
-paramiko.SFTPClient._convert_status paramiko.SFTPClient-class.html#_convert_status
-paramiko.SFTPClient.lstat paramiko.SFTPClient-class.html#lstat
-paramiko.SFTPClient.mkdir paramiko.SFTPClient-class.html#mkdir
-paramiko.SFTPClient._finish_responses paramiko.SFTPClient-class.html#_finish_responses
-paramiko.SFTPClient._adjust_cwd paramiko.SFTPClient-class.html#_adjust_cwd
-paramiko.SFTPClient.rmdir paramiko.SFTPClient-class.html#rmdir
-paramiko.SFTPClient.listdir paramiko.SFTPClient-class.html#listdir
-paramiko.SFTPClient.truncate paramiko.SFTPClient-class.html#truncate
-paramiko.SFTPClient.get paramiko.SFTPClient-class.html#get
-paramiko.SFTPClient.get_channel paramiko.SFTPClient-class.html#get_channel
-paramiko.SFTPClient.getcwd paramiko.SFTPClient-class.html#getcwd
-paramiko.SFTPClient._async_request paramiko.SFTPClient-class.html#_async_request
-paramiko.SFTPClient.symlink paramiko.SFTPClient-class.html#symlink
-paramiko.SFTPClient.readlink paramiko.SFTPClient-class.html#readlink
-paramiko.SFTPClient._log paramiko.SFTPClient-class.html#_log
-paramiko.SFTPClient.put paramiko.SFTPClient-class.html#put
-paramiko.SFTPClient.unlink paramiko.SFTPClient-class.html#unlink
-paramiko.SFTPClient.listdir_attr paramiko.SFTPClient-class.html#listdir_attr
-paramiko.SFTPClient.utime paramiko.SFTPClient-class.html#utime
-paramiko.SFTPClient.chdir paramiko.SFTPClient-class.html#chdir
-paramiko.SFTPClient.remove paramiko.SFTPClient-class.html#remove
-paramiko.SFTPClient.from_transport paramiko.SFTPClient-class.html#from_transport
-paramiko.SFTPClient.chown paramiko.SFTPClient-class.html#chown
-paramiko.SFTPClient._read_response paramiko.SFTPClient-class.html#_read_response
-paramiko.SFTPAttributes paramiko.SFTPAttributes-class.html
-paramiko.SFTPAttributes.__str__ paramiko.SFTPAttributes-class.html#__str__
-paramiko.SFTPAttributes.FLAG_AMTIME paramiko.SFTPAttributes-class.html#FLAG_AMTIME
-paramiko.SFTPAttributes._pack paramiko.SFTPAttributes-class.html#_pack
-paramiko.SFTPAttributes.__init__ paramiko.SFTPAttributes-class.html#__init__
-paramiko.SFTPAttributes.FLAG_EXTENDED paramiko.SFTPAttributes-class.html#FLAG_EXTENDED
-paramiko.SFTPAttributes.FLAG_PERMISSIONS paramiko.SFTPAttributes-class.html#FLAG_PERMISSIONS
-paramiko.SFTPAttributes._unpack paramiko.SFTPAttributes-class.html#_unpack
-paramiko.SFTPAttributes.from_stat paramiko.SFTPAttributes-class.html#from_stat
-paramiko.SFTPAttributes.FLAG_UIDGID paramiko.SFTPAttributes-class.html#FLAG_UIDGID
-paramiko.SFTPAttributes._rwx paramiko.SFTPAttributes-class.html#_rwx
-paramiko.SFTPAttributes._debug_str paramiko.SFTPAttributes-class.html#_debug_str
-paramiko.SFTPAttributes.FLAG_SIZE paramiko.SFTPAttributes-class.html#FLAG_SIZE
-paramiko.SFTPAttributes.__repr__ paramiko.SFTPAttributes-class.html#__repr__
-paramiko.SFTPAttributes._from_msg paramiko.SFTPAttributes-class.html#_from_msg
-paramiko.SFTPClient paramiko.SFTPClient-class.html
-paramiko.SFTPClient.rename paramiko.SFTPClient-class.html#rename
-paramiko.SFTPClient._request paramiko.SFTPClient-class.html#_request
-paramiko.SFTPClient.listdir paramiko.SFTPClient-class.html#listdir
-paramiko.SFTPClient.chmod paramiko.SFTPClient-class.html#chmod
-paramiko.SFTPClient.file paramiko.SFTPClient-class.html#file
-paramiko.SFTPClient.close paramiko.SFTPClient-class.html#close
-paramiko.SFTPClient.open paramiko.SFTPClient-class.html#open
-paramiko.SFTPClient.__init__ paramiko.SFTPClient-class.html#__init__
-paramiko.SFTPClient.normalize paramiko.SFTPClient-class.html#normalize
-paramiko.SFTPClient._convert_status paramiko.SFTPClient-class.html#_convert_status
-paramiko.SFTPClient.get paramiko.SFTPClient-class.html#get
-paramiko.SFTPClient.mkdir paramiko.SFTPClient-class.html#mkdir
-paramiko.SFTPClient._finish_responses paramiko.SFTPClient-class.html#_finish_responses
-paramiko.SFTPClient._adjust_cwd paramiko.SFTPClient-class.html#_adjust_cwd
-paramiko.SFTPClient.rmdir paramiko.SFTPClient-class.html#rmdir
-paramiko.SFTPClient.stat paramiko.SFTPClient-class.html#stat
-paramiko.SFTPClient.truncate paramiko.SFTPClient-class.html#truncate
-paramiko.SFTPClient.lstat paramiko.SFTPClient-class.html#lstat
-paramiko.SFTPClient.get_channel paramiko.SFTPClient-class.html#get_channel
-paramiko.SFTPClient.getcwd paramiko.SFTPClient-class.html#getcwd
-paramiko.SFTPClient._async_request paramiko.SFTPClient-class.html#_async_request
-paramiko.SFTPClient.symlink paramiko.SFTPClient-class.html#symlink
-paramiko.SFTPClient.readlink paramiko.SFTPClient-class.html#readlink
-paramiko.SFTPClient._log paramiko.SFTPClient-class.html#_log
-paramiko.SFTPClient.put paramiko.SFTPClient-class.html#put
-paramiko.SFTPClient.unlink paramiko.SFTPClient-class.html#unlink
-paramiko.SFTPClient.listdir_attr paramiko.SFTPClient-class.html#listdir_attr
-paramiko.SFTPClient.utime paramiko.SFTPClient-class.html#utime
-paramiko.SFTPClient.chdir paramiko.SFTPClient-class.html#chdir
-paramiko.SFTPClient.remove paramiko.SFTPClient-class.html#remove
-paramiko.SFTPClient.from_transport paramiko.SFTPClient-class.html#from_transport
-paramiko.SFTPClient.chown paramiko.SFTPClient-class.html#chown
-paramiko.SFTPClient._read_response paramiko.SFTPClient-class.html#_read_response
-paramiko.SFTPError paramiko.SFTPError-class.html
-paramiko.SFTPFile paramiko.SFTPFile-class.html
-paramiko.BufferedFile._record_newline paramiko.BufferedFile-class.html#_record_newline
-paramiko.SFTPFile._get_size paramiko.SFTPFile-class.html#_get_size
-paramiko.SFTPFile.gettimeout paramiko.SFTPFile-class.html#gettimeout
-paramiko.BufferedFile.xreadlines paramiko.BufferedFile-class.html#xreadlines
-paramiko.BufferedFile.readlines paramiko.BufferedFile-class.html#readlines
-paramiko.SFTPFile.chmod paramiko.SFTPFile-class.html#chmod
-paramiko.BufferedFile.SEEK_CUR paramiko.BufferedFile-class.html#SEEK_CUR
-paramiko.BufferedFile.FLAG_READ paramiko.BufferedFile-class.html#FLAG_READ
-paramiko.SFTPFile.readv paramiko.SFTPFile-class.html#readv
-paramiko.SFTPFile.close paramiko.SFTPFile-class.html#close
-paramiko.BufferedFile.next paramiko.BufferedFile-class.html#next
-paramiko.SFTPFile.seek paramiko.SFTPFile-class.html#seek
-paramiko.SFTPFile.check paramiko.SFTPFile-class.html#check
-paramiko.SFTPFile.__init__ paramiko.SFTPFile-class.html#__init__
-paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE
-paramiko.BufferedFile.readline paramiko.BufferedFile-class.html#readline
-paramiko.BufferedFile._set_mode paramiko.BufferedFile-class.html#_set_mode
-paramiko.BufferedFile.flush paramiko.BufferedFile-class.html#flush
-paramiko.SFTPFile._async_response paramiko.SFTPFile-class.html#_async_response
-paramiko.SFTPFile._read_prefetch paramiko.SFTPFile-class.html#_read_prefetch
-paramiko.BufferedFile.write paramiko.BufferedFile-class.html#write
-paramiko.SFTPFile.__del__ paramiko.SFTPFile-class.html#__del__
-paramiko.SFTPFile._start_prefetch paramiko.SFTPFile-class.html#_start_prefetch
-paramiko.BufferedFile._DEFAULT_BUFSIZE paramiko.BufferedFile-class.html#_DEFAULT_BUFSIZE
-paramiko.BufferedFile.tell paramiko.BufferedFile-class.html#tell
-paramiko.SFTPFile._close paramiko.SFTPFile-class.html#_close
-paramiko.SFTPFile.stat paramiko.SFTPFile-class.html#stat
-paramiko.BufferedFile.FLAG_BINARY paramiko.BufferedFile-class.html#FLAG_BINARY
-paramiko.SFTPFile.truncate paramiko.SFTPFile-class.html#truncate
-paramiko.SFTPFile.MAX_REQUEST_SIZE paramiko.SFTPFile-class.html#MAX_REQUEST_SIZE
-paramiko.BufferedFile.SEEK_SET paramiko.BufferedFile-class.html#SEEK_SET
-paramiko.SFTPFile._check_exception paramiko.SFTPFile-class.html#_check_exception
-paramiko.BufferedFile.FLAG_APPEND paramiko.BufferedFile-class.html#FLAG_APPEND
-paramiko.SFTPFile._data_in_prefetch_buffers paramiko.SFTPFile-class.html#_data_in_prefetch_buffers
-paramiko.BufferedFile.__iter__ paramiko.BufferedFile-class.html#__iter__
-paramiko.SFTPFile._write paramiko.SFTPFile-class.html#_write
-paramiko.SFTPFile._data_in_prefetch_requests paramiko.SFTPFile-class.html#_data_in_prefetch_requests
-paramiko.SFTPFile.setblocking paramiko.SFTPFile-class.html#setblocking
-paramiko.SFTPFile.utime paramiko.SFTPFile-class.html#utime
-paramiko.BufferedFile.FLAG_BUFFERED paramiko.BufferedFile-class.html#FLAG_BUFFERED
-paramiko.BufferedFile._write_all paramiko.BufferedFile-class.html#_write_all
-paramiko.BufferedFile.writelines paramiko.BufferedFile-class.html#writelines
-paramiko.BufferedFile.SEEK_END paramiko.BufferedFile-class.html#SEEK_END
-paramiko.BufferedFile.read paramiko.BufferedFile-class.html#read
-paramiko.SFTPFile._read paramiko.SFTPFile-class.html#_read
-paramiko.SFTPFile.set_pipelined paramiko.SFTPFile-class.html#set_pipelined
-paramiko.BufferedFile.FLAG_LINE_BUFFERED paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED
-paramiko.SFTPFile.chown paramiko.SFTPFile-class.html#chown
-paramiko.BufferedFile.FLAG_WRITE paramiko.BufferedFile-class.html#FLAG_WRITE
-paramiko.SFTPFile.prefetch paramiko.SFTPFile-class.html#prefetch
-paramiko.SFTPFile.settimeout paramiko.SFTPFile-class.html#settimeout
-paramiko.SFTPFile._prefetch_thread paramiko.SFTPFile-class.html#_prefetch_thread
-paramiko.SFTPHandle paramiko.SFTPHandle-class.html
-paramiko.SFTPHandle._set_files paramiko.SFTPHandle-class.html#_set_files
-paramiko.SFTPHandle.close paramiko.SFTPHandle-class.html#close
-paramiko.SFTPHandle.__init__ paramiko.SFTPHandle-class.html#__init__
-paramiko.SFTPHandle.write paramiko.SFTPHandle-class.html#write
-paramiko.SFTPHandle._get_name paramiko.SFTPHandle-class.html#_get_name
-paramiko.SFTPHandle.chattr paramiko.SFTPHandle-class.html#chattr
-paramiko.SFTPHandle._set_name paramiko.SFTPHandle-class.html#_set_name
-paramiko.SFTPHandle.stat paramiko.SFTPHandle-class.html#stat
-paramiko.SFTPHandle.read paramiko.SFTPHandle-class.html#read
-paramiko.SFTPHandle._get_next_files paramiko.SFTPHandle-class.html#_get_next_files
-paramiko.SFTPServer paramiko.SFTPServer-class.html
-paramiko.SFTPServer.start_subsystem paramiko.SFTPServer-class.html#start_subsystem
-paramiko.SFTPServer._send_handle_response paramiko.SFTPServer-class.html#_send_handle_response
-paramiko.SFTPServer._open_folder paramiko.SFTPServer-class.html#_open_folder
-paramiko.SFTPServer._process paramiko.SFTPServer-class.html#_process
-paramiko.SFTPServer._send_status paramiko.SFTPServer-class.html#_send_status
-paramiko.SFTPServer.__init__ paramiko.SFTPServer-class.html#__init__
-paramiko.SFTPServer._response paramiko.SFTPServer-class.html#_response
-paramiko.SubsystemHandler._run paramiko.SubsystemHandler-class.html#_run
-paramiko.SFTPServer._convert_pflags paramiko.SFTPServer-class.html#_convert_pflags
-paramiko.SFTPServer._check_file paramiko.SFTPServer-class.html#_check_file
-paramiko.SFTPServer._log paramiko.SFTPServer-class.html#_log
-paramiko.SFTPServer.finish_subsystem paramiko.SFTPServer-class.html#finish_subsystem
-paramiko.SubsystemHandler.get_server paramiko.SubsystemHandler-class.html#get_server
-paramiko.SFTPServer.convert_errno paramiko.SFTPServer-class.html#convert_errno
-paramiko.SFTPServer.set_file_attr paramiko.SFTPServer-class.html#set_file_attr
-paramiko.SFTPServer._read_folder paramiko.SFTPServer-class.html#_read_folder
-paramiko.SFTPServerInterface paramiko.SFTPServerInterface-class.html
-paramiko.SFTPServerInterface.rename paramiko.SFTPServerInterface-class.html#rename
-paramiko.SFTPServerInterface.canonicalize paramiko.SFTPServerInterface-class.html#canonicalize
-paramiko.SFTPServerInterface.open paramiko.SFTPServerInterface-class.html#open
-paramiko.SFTPServerInterface.__init__ paramiko.SFTPServerInterface-class.html#__init__
-paramiko.SFTPServerInterface.mkdir paramiko.SFTPServerInterface-class.html#mkdir
-paramiko.SFTPServerInterface.chattr paramiko.SFTPServerInterface-class.html#chattr
-paramiko.SFTPServerInterface.list_folder paramiko.SFTPServerInterface-class.html#list_folder
-paramiko.SFTPServerInterface.rmdir paramiko.SFTPServerInterface-class.html#rmdir
-paramiko.SFTPServerInterface.stat paramiko.SFTPServerInterface-class.html#stat
-paramiko.SFTPServerInterface.lstat paramiko.SFTPServerInterface-class.html#lstat
-paramiko.SFTPServerInterface.session_ended paramiko.SFTPServerInterface-class.html#session_ended
-paramiko.SFTPServerInterface.symlink paramiko.SFTPServerInterface-class.html#symlink
-paramiko.SFTPServerInterface.readlink paramiko.SFTPServerInterface-class.html#readlink
-paramiko.SFTPServerInterface.remove paramiko.SFTPServerInterface-class.html#remove
-paramiko.SFTPServerInterface.session_started paramiko.SFTPServerInterface-class.html#session_started
-paramiko.SSHClient paramiko.SSHClient-class.html
-paramiko.SSHClient.open_sftp paramiko.SSHClient-class.html#open_sftp
-paramiko.SSHClient.connect paramiko.SSHClient-class.html#connect
-paramiko.SSHClient.get_transport paramiko.SSHClient-class.html#get_transport
-paramiko.SSHClient.close paramiko.SSHClient-class.html#close
-paramiko.SSHClient.__init__ paramiko.SSHClient-class.html#__init__
-paramiko.SSHClient.set_log_channel paramiko.SSHClient-class.html#set_log_channel
-paramiko.SSHClient.load_system_host_keys paramiko.SSHClient-class.html#load_system_host_keys
-paramiko.SSHClient.load_host_keys paramiko.SSHClient-class.html#load_host_keys
-paramiko.SSHClient.save_host_keys paramiko.SSHClient-class.html#save_host_keys
-paramiko.SSHClient._auth paramiko.SSHClient-class.html#_auth
-paramiko.SSHClient.invoke_shell paramiko.SSHClient-class.html#invoke_shell
-paramiko.SSHClient._log paramiko.SSHClient-class.html#_log
-paramiko.SSHClient.exec_command paramiko.SSHClient-class.html#exec_command
-paramiko.SSHClient.get_host_keys paramiko.SSHClient-class.html#get_host_keys
-paramiko.SSHClient.set_missing_host_key_policy paramiko.SSHClient-class.html#set_missing_host_key_policy
-paramiko.SSHConfig paramiko.SSHConfig-class.html
-paramiko.SSHConfig.parse paramiko.SSHConfig-class.html#parse
-paramiko.SSHConfig.lookup paramiko.SSHConfig-class.html#lookup
-paramiko.SSHConfig.__init__ paramiko.SSHConfig-class.html#__init__
-paramiko.SSHException paramiko.SSHException-class.html
-paramiko.SecurityOptions paramiko.SecurityOptions-class.html
-paramiko.SecurityOptions._transport paramiko.SecurityOptions-class.html#_transport
-paramiko.SecurityOptions._get_digests paramiko.SecurityOptions-class.html#_get_digests
-paramiko.SecurityOptions._set_digests paramiko.SecurityOptions-class.html#_set_digests
-paramiko.SecurityOptions.__init__ paramiko.SecurityOptions-class.html#__init__
-paramiko.SecurityOptions._get_ciphers paramiko.SecurityOptions-class.html#_get_ciphers
-paramiko.SecurityOptions._set_compression paramiko.SecurityOptions-class.html#_set_compression
-paramiko.SecurityOptions.compression paramiko.SecurityOptions-class.html#compression
-paramiko.SecurityOptions.key_types paramiko.SecurityOptions-class.html#key_types
-paramiko.SecurityOptions._get_compression paramiko.SecurityOptions-class.html#_get_compression
-paramiko.SecurityOptions.digests paramiko.SecurityOptions-class.html#digests
-paramiko.SecurityOptions._set_key_types paramiko.SecurityOptions-class.html#_set_key_types
-paramiko.SecurityOptions.ciphers paramiko.SecurityOptions-class.html#ciphers
-paramiko.SecurityOptions._get_key_types paramiko.SecurityOptions-class.html#_get_key_types
-paramiko.SecurityOptions.kex paramiko.SecurityOptions-class.html#kex
-paramiko.SecurityOptions._get_kex paramiko.SecurityOptions-class.html#_get_kex
-paramiko.SecurityOptions._set_ciphers paramiko.SecurityOptions-class.html#_set_ciphers
-paramiko.SecurityOptions._set_kex paramiko.SecurityOptions-class.html#_set_kex
-paramiko.SecurityOptions.__repr__ paramiko.SecurityOptions-class.html#__repr__
-paramiko.SecurityOptions._set paramiko.SecurityOptions-class.html#_set
-paramiko.ServerInterface paramiko.ServerInterface-class.html
-paramiko.ServerInterface.check_auth_interactive paramiko.ServerInterface-class.html#check_auth_interactive
-paramiko.ServerInterface.check_auth_none paramiko.ServerInterface-class.html#check_auth_none
-paramiko.ServerInterface.check_channel_pty_request paramiko.ServerInterface-class.html#check_channel_pty_request
-paramiko.ServerInterface.cancel_port_forward_request paramiko.ServerInterface-class.html#cancel_port_forward_request
-paramiko.ServerInterface.check_channel_direct_tcpip_request paramiko.ServerInterface-class.html#check_channel_direct_tcpip_request
-paramiko.ServerInterface.get_allowed_auths paramiko.ServerInterface-class.html#get_allowed_auths
-paramiko.ServerInterface.check_auth_interactive_response paramiko.ServerInterface-class.html#check_auth_interactive_response
-paramiko.ServerInterface.check_global_request paramiko.ServerInterface-class.html#check_global_request
-paramiko.ServerInterface.check_auth_password paramiko.ServerInterface-class.html#check_auth_password
-paramiko.ServerInterface.check_channel_window_change_request paramiko.ServerInterface-class.html#check_channel_window_change_request
-paramiko.ServerInterface.check_auth_publickey paramiko.ServerInterface-class.html#check_auth_publickey
-paramiko.ServerInterface.check_channel_shell_request paramiko.ServerInterface-class.html#check_channel_shell_request
-paramiko.ServerInterface.check_channel_request paramiko.ServerInterface-class.html#check_channel_request
-paramiko.ServerInterface.check_channel_x11_request paramiko.ServerInterface-class.html#check_channel_x11_request
-paramiko.ServerInterface.check_channel_subsystem_request paramiko.ServerInterface-class.html#check_channel_subsystem_request
-paramiko.ServerInterface.check_port_forward_request paramiko.ServerInterface-class.html#check_port_forward_request
-paramiko.ServerInterface.check_channel_exec_request paramiko.ServerInterface-class.html#check_channel_exec_request
-paramiko.SubsystemHandler paramiko.SubsystemHandler-class.html
-paramiko.SubsystemHandler.start_subsystem paramiko.SubsystemHandler-class.html#start_subsystem
-paramiko.SubsystemHandler.__init__ paramiko.SubsystemHandler-class.html#__init__
-paramiko.SubsystemHandler._run paramiko.SubsystemHandler-class.html#_run
-paramiko.SubsystemHandler.finish_subsystem paramiko.SubsystemHandler-class.html#finish_subsystem
-paramiko.SubsystemHandler.get_server paramiko.SubsystemHandler-class.html#get_server
-paramiko.Transport paramiko.Transport-class.html
-paramiko.Transport._auth_trigger paramiko.Transport-class.html#_auth_trigger
-paramiko.Transport.set_subsystem_handler paramiko.Transport-class.html#set_subsystem_handler
-paramiko.Transport._preferred_kex paramiko.Transport-class.html#_preferred_kex
-paramiko.Transport.open_session paramiko.Transport-class.html#open_session
-paramiko.Transport._parse_request_success paramiko.Transport-class.html#_parse_request_success
-paramiko.Transport._parse_kex_init paramiko.Transport-class.html#_parse_kex_init
-paramiko.Transport.set_keepalive paramiko.Transport-class.html#set_keepalive
-paramiko.Transport.auth_none paramiko.Transport-class.html#auth_none
-paramiko.Transport._parse_request_failure paramiko.Transport-class.html#_parse_request_failure
-paramiko.Transport._key_info paramiko.Transport-class.html#_key_info
-paramiko.Transport._parse_disconnect paramiko.Transport-class.html#_parse_disconnect
-paramiko.Transport._channel_handler_table paramiko.Transport-class.html#_channel_handler_table
-paramiko.Transport.is_active paramiko.Transport-class.html#is_active
-paramiko.Transport.cancel_port_forward paramiko.Transport-class.html#cancel_port_forward
-paramiko.Transport.get_security_options paramiko.Transport-class.html#get_security_options
-paramiko.Transport.send_ignore paramiko.Transport-class.html#send_ignore
-paramiko.Transport._preferred_macs paramiko.Transport-class.html#_preferred_macs
-paramiko.Transport._parse_debug paramiko.Transport-class.html#_parse_debug
-paramiko.Transport._parse_newkeys paramiko.Transport-class.html#_parse_newkeys
-paramiko.Transport.start_client paramiko.Transport-class.html#start_client
-paramiko.Transport._get_modulus_pack paramiko.Transport-class.html#_get_modulus_pack
-paramiko.Transport._preferred_ciphers paramiko.Transport-class.html#_preferred_ciphers
-paramiko.Transport._get_subsystem_handler paramiko.Transport-class.html#_get_subsystem_handler
-paramiko.Transport._queue_incoming_channel paramiko.Transport-class.html#_queue_incoming_channel
-paramiko.Transport._next_channel paramiko.Transport-class.html#_next_channel
-paramiko.Transport._verify_key paramiko.Transport-class.html#_verify_key
-paramiko.Transport.connect paramiko.Transport-class.html#connect
-paramiko.Transport._negotiate_keys paramiko.Transport-class.html#_negotiate_keys
-paramiko.Transport.close paramiko.Transport-class.html#close
-paramiko.Transport.stop_thread paramiko.Transport-class.html#stop_thread
-paramiko.Transport._mac_info paramiko.Transport-class.html#_mac_info
-paramiko.Transport.get_username paramiko.Transport-class.html#get_username
-paramiko.Transport.get_exception paramiko.Transport-class.html#get_exception
-paramiko.Transport._send_message paramiko.Transport-class.html#_send_message
-paramiko.Transport.run paramiko.Transport-class.html#run
-paramiko.Transport.atfork paramiko.Transport-class.html#atfork
-paramiko.Transport.getpeername paramiko.Transport-class.html#getpeername
-paramiko.Transport._cipher_info paramiko.Transport-class.html#_cipher_info
-paramiko.Transport._activate_inbound paramiko.Transport-class.html#_activate_inbound
-paramiko.Transport.__repr__ paramiko.Transport-class.html#__repr__
-paramiko.Transport._parse_global_request paramiko.Transport-class.html#_parse_global_request
-paramiko.Transport._expect_packet paramiko.Transport-class.html#_expect_packet
-paramiko.Transport.set_hexdump paramiko.Transport-class.html#set_hexdump
-paramiko.Transport.auth_password paramiko.Transport-class.html#auth_password
-paramiko.Transport.get_log_channel paramiko.Transport-class.html#get_log_channel
-paramiko.Transport._kex_info paramiko.Transport-class.html#_kex_info
-paramiko.Transport._check_banner paramiko.Transport-class.html#_check_banner
-paramiko.Transport.open_sftp_client paramiko.Transport-class.html#open_sftp_client
-paramiko.Transport.is_authenticated paramiko.Transport-class.html#is_authenticated
-paramiko.Transport.request_port_forward paramiko.Transport-class.html#request_port_forward
-paramiko.Transport.auth_publickey paramiko.Transport-class.html#auth_publickey
-paramiko.Transport._CLIENT_ID paramiko.Transport-class.html#_CLIENT_ID
-paramiko.Transport.global_request paramiko.Transport-class.html#global_request
-paramiko.Transport._get_cipher paramiko.Transport-class.html#_get_cipher
-paramiko.Transport.renegotiate_keys paramiko.Transport-class.html#renegotiate_keys
-paramiko.Transport.open_x11_channel paramiko.Transport-class.html#open_x11_channel
-paramiko.Transport._PROTO_ID paramiko.Transport-class.html#_PROTO_ID
-paramiko.Transport._set_K_H paramiko.Transport-class.html#_set_K_H
-paramiko.Transport.use_compression paramiko.Transport-class.html#use_compression
-paramiko.Transport._log paramiko.Transport-class.html#_log
-paramiko.Transport.start_server paramiko.Transport-class.html#start_server
-paramiko.Transport._send_user_message paramiko.Transport-class.html#_send_user_message
-paramiko.Transport._modulus_pack paramiko.Transport-class.html#_modulus_pack
-paramiko.Transport.get_hexdump paramiko.Transport-class.html#get_hexdump
-paramiko.Transport.add_server_key paramiko.Transport-class.html#add_server_key
-paramiko.Transport._activate_outbound paramiko.Transport-class.html#_activate_outbound
-paramiko.Transport.accept paramiko.Transport-class.html#accept
-paramiko.Transport._preferred_compression paramiko.Transport-class.html#_preferred_compression
-paramiko.Transport._compute_key paramiko.Transport-class.html#_compute_key
-paramiko.Transport.__init__ paramiko.Transport-class.html#__init__
-paramiko.Transport._unlink_channel paramiko.Transport-class.html#_unlink_channel
-paramiko.Transport.auth_interactive paramiko.Transport-class.html#auth_interactive
-paramiko.Transport.set_log_channel paramiko.Transport-class.html#set_log_channel
-paramiko.Transport._set_x11_handler paramiko.Transport-class.html#_set_x11_handler
-paramiko.Transport._compression_info paramiko.Transport-class.html#_compression_info
-paramiko.Transport._handler_table paramiko.Transport-class.html#_handler_table
-paramiko.Transport.load_server_moduli paramiko.Transport-class.html#load_server_moduli
-paramiko.Transport._parse_channel_open_success paramiko.Transport-class.html#_parse_channel_open_success
-paramiko.Transport.get_server_key paramiko.Transport-class.html#get_server_key
-paramiko.Transport._parse_channel_open_failure paramiko.Transport-class.html#_parse_channel_open_failure
-paramiko.Transport.get_remote_server_key paramiko.Transport-class.html#get_remote_server_key
-paramiko.Transport._parse_channel_open paramiko.Transport-class.html#_parse_channel_open
-paramiko.Transport.open_forwarded_tcpip_channel paramiko.Transport-class.html#open_forwarded_tcpip_channel
-paramiko.Transport._preferred_keys paramiko.Transport-class.html#_preferred_keys
-paramiko.Transport.open_channel paramiko.Transport-class.html#open_channel
-paramiko.Transport._send_kex_init paramiko.Transport-class.html#_send_kex_init
-paramiko.WarningPolicy paramiko.WarningPolicy-class.html
-paramiko.WarningPolicy.missing_host_key paramiko.WarningPolicy-class.html#missing_host_key
-paramiko.ber.BER paramiko.ber.BER-class.html
-paramiko.ber.BER.decode_sequence paramiko.ber.BER-class.html#decode_sequence
-paramiko.ber.BER.decode_next paramiko.ber.BER-class.html#decode_next
-paramiko.ber.BER.__str__ paramiko.ber.BER-class.html#__str__
-paramiko.ber.BER.encode_tlv paramiko.ber.BER-class.html#encode_tlv
-paramiko.ber.BER.encode_sequence paramiko.ber.BER-class.html#encode_sequence
-paramiko.ber.BER.decode paramiko.ber.BER-class.html#decode
-paramiko.ber.BER.__repr__ paramiko.ber.BER-class.html#__repr__
-paramiko.ber.BER.encode paramiko.ber.BER-class.html#encode
-paramiko.ber.BER.__init__ paramiko.ber.BER-class.html#__init__
-paramiko.ber.BERException paramiko.ber.BERException-class.html
-paramiko.buffered_pipe.BufferedPipe paramiko.buffered_pipe.BufferedPipe-class.html
-paramiko.buffered_pipe.BufferedPipe.feed paramiko.buffered_pipe.BufferedPipe-class.html#feed
-paramiko.buffered_pipe.BufferedPipe.set_event paramiko.buffered_pipe.BufferedPipe-class.html#set_event
-paramiko.buffered_pipe.BufferedPipe.read paramiko.buffered_pipe.BufferedPipe-class.html#read
-paramiko.buffered_pipe.BufferedPipe.read_ready paramiko.buffered_pipe.BufferedPipe-class.html#read_ready
-paramiko.buffered_pipe.BufferedPipe.__len__ paramiko.buffered_pipe.BufferedPipe-class.html#__len__
-paramiko.buffered_pipe.BufferedPipe.empty paramiko.buffered_pipe.BufferedPipe-class.html#empty
-paramiko.buffered_pipe.BufferedPipe.close paramiko.buffered_pipe.BufferedPipe-class.html#close
-paramiko.buffered_pipe.BufferedPipe.__init__ paramiko.buffered_pipe.BufferedPipe-class.html#__init__
-paramiko.buffered_pipe.PipeTimeout paramiko.buffered_pipe.PipeTimeout-class.html
-paramiko.channel.ChannelStderrFile paramiko.channel.ChannelStderrFile-class.html
-paramiko.BufferedFile._record_newline paramiko.BufferedFile-class.html#_record_newline
-paramiko.BufferedFile.xreadlines paramiko.BufferedFile-class.html#xreadlines
-paramiko.BufferedFile.readlines paramiko.BufferedFile-class.html#readlines
-paramiko.BufferedFile.SEEK_CUR paramiko.BufferedFile-class.html#SEEK_CUR
-paramiko.BufferedFile.FLAG_READ paramiko.BufferedFile-class.html#FLAG_READ
-paramiko.BufferedFile.flush paramiko.BufferedFile-class.html#flush
-paramiko.BufferedFile.close paramiko.BufferedFile-class.html#close
-paramiko.BufferedFile.seek paramiko.BufferedFile-class.html#seek
-paramiko.BufferedFile.readline paramiko.BufferedFile-class.html#readline
-paramiko.channel.ChannelStderrFile.__init__ paramiko.channel.ChannelStderrFile-class.html#__init__
-paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE
-paramiko.BufferedFile._set_mode paramiko.BufferedFile-class.html#_set_mode
-paramiko.BufferedFile.next paramiko.BufferedFile-class.html#next
-paramiko.BufferedFile.write paramiko.BufferedFile-class.html#write
-paramiko.BufferedFile.__del__ paramiko.BufferedFile-class.html#__del__
-paramiko.BufferedFile.tell paramiko.BufferedFile-class.html#tell
-paramiko.BufferedFile.FLAG_BINARY paramiko.BufferedFile-class.html#FLAG_BINARY
-paramiko.BufferedFile.read paramiko.BufferedFile-class.html#read
-paramiko.BufferedFile.SEEK_SET paramiko.BufferedFile-class.html#SEEK_SET
-paramiko.BufferedFile.FLAG_APPEND paramiko.BufferedFile-class.html#FLAG_APPEND
-paramiko.BufferedFile.__iter__ paramiko.BufferedFile-class.html#__iter__
-paramiko.channel.ChannelStderrFile._write paramiko.channel.ChannelStderrFile-class.html#_write
-paramiko.BufferedFile._DEFAULT_BUFSIZE paramiko.BufferedFile-class.html#_DEFAULT_BUFSIZE
-paramiko.BufferedFile.FLAG_BUFFERED paramiko.BufferedFile-class.html#FLAG_BUFFERED
-paramiko.BufferedFile._write_all paramiko.BufferedFile-class.html#_write_all
-paramiko.BufferedFile.writelines paramiko.BufferedFile-class.html#writelines
-paramiko.BufferedFile.SEEK_END paramiko.BufferedFile-class.html#SEEK_END
-paramiko.channel.ChannelStderrFile._read paramiko.channel.ChannelStderrFile-class.html#_read
-paramiko.BufferedFile.FLAG_LINE_BUFFERED paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED
-paramiko.BufferedFile._get_size paramiko.BufferedFile-class.html#_get_size
-paramiko.BufferedFile.FLAG_WRITE paramiko.BufferedFile-class.html#FLAG_WRITE
-paramiko.compress.ZlibCompressor paramiko.compress.ZlibCompressor-class.html
-paramiko.compress.ZlibCompressor.__call__ paramiko.compress.ZlibCompressor-class.html#__call__
-paramiko.compress.ZlibCompressor.__init__ paramiko.compress.ZlibCompressor-class.html#__init__
-paramiko.compress.ZlibDecompressor paramiko.compress.ZlibDecompressor-class.html
-paramiko.compress.ZlibDecompressor.__call__ paramiko.compress.ZlibDecompressor-class.html#__call__
-paramiko.compress.ZlibDecompressor.__init__ paramiko.compress.ZlibDecompressor-class.html#__init__
-paramiko.hostkeys.HostKeyEntry paramiko.hostkeys.HostKeyEntry-class.html
-paramiko.hostkeys.HostKeyEntry.from_line paramiko.hostkeys.HostKeyEntry-class.html#from_line
-paramiko.hostkeys.HostKeyEntry.__repr__ paramiko.hostkeys.HostKeyEntry-class.html#__repr__
-paramiko.hostkeys.HostKeyEntry.__init__ paramiko.hostkeys.HostKeyEntry-class.html#__init__
-paramiko.hostkeys.HostKeyEntry.to_line paramiko.hostkeys.HostKeyEntry-class.html#to_line
-paramiko.kex_gex.KexGex paramiko.kex_gex.KexGex-class.html
-paramiko.kex_gex.KexGex.max_bits paramiko.kex_gex.KexGex-class.html#max_bits
-paramiko.kex_gex.KexGex._parse_kexdh_gex_request paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_request
-paramiko.kex_gex.KexGex.__init__ paramiko.kex_gex.KexGex-class.html#__init__
-paramiko.kex_gex.KexGex._generate_x paramiko.kex_gex.KexGex-class.html#_generate_x
-paramiko.kex_gex.KexGex.parse_next paramiko.kex_gex.KexGex-class.html#parse_next
-paramiko.kex_gex.KexGex.min_bits paramiko.kex_gex.KexGex-class.html#min_bits
-paramiko.kex_gex.KexGex._parse_kexdh_gex_group paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_group
-paramiko.kex_gex.KexGex.preferred_bits paramiko.kex_gex.KexGex-class.html#preferred_bits
-paramiko.kex_gex.KexGex._parse_kexdh_gex_request_old paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_request_old
-paramiko.kex_gex.KexGex.name paramiko.kex_gex.KexGex-class.html#name
-paramiko.kex_gex.KexGex._parse_kexdh_gex_reply paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_reply
-paramiko.kex_gex.KexGex.start_kex paramiko.kex_gex.KexGex-class.html#start_kex
-paramiko.kex_gex.KexGex._parse_kexdh_gex_init paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_init
-paramiko.kex_group1.KexGroup1 paramiko.kex_group1.KexGroup1-class.html
-paramiko.kex_group1.KexGroup1.parse_next paramiko.kex_group1.KexGroup1-class.html#parse_next
-paramiko.kex_group1.KexGroup1.name paramiko.kex_group1.KexGroup1-class.html#name
-paramiko.kex_group1.KexGroup1._parse_kexdh_init paramiko.kex_group1.KexGroup1-class.html#_parse_kexdh_init
-paramiko.kex_group1.KexGroup1._parse_kexdh_reply paramiko.kex_group1.KexGroup1-class.html#_parse_kexdh_reply
-paramiko.kex_group1.KexGroup1.start_kex paramiko.kex_group1.KexGroup1-class.html#start_kex
-paramiko.kex_group1.KexGroup1._generate_x paramiko.kex_group1.KexGroup1-class.html#_generate_x
-paramiko.kex_group1.KexGroup1.__init__ paramiko.kex_group1.KexGroup1-class.html#__init__
-paramiko.logging22.Formatter paramiko.logging22.Formatter-class.html
-paramiko.logging22.Formatter.__init__ paramiko.logging22.Formatter-class.html#__init__
-paramiko.logging22.StreamHandler paramiko.logging22.StreamHandler-class.html
-paramiko.logging22.StreamHandler.setFormatter paramiko.logging22.StreamHandler-class.html#setFormatter
-paramiko.logging22.StreamHandler.__init__ paramiko.logging22.StreamHandler-class.html#__init__
-paramiko.logging22.logger paramiko.logging22.logger-class.html
-paramiko.logging22.logger.log paramiko.logging22.logger-class.html#log
-paramiko.logging22.logger.addFilter paramiko.logging22.logger-class.html#addFilter
-paramiko.logging22.logger.setLevel paramiko.logging22.logger-class.html#setLevel
-paramiko.logging22.logger.addHandler paramiko.logging22.logger-class.html#addHandler
-paramiko.logging22.logger.__init__ paramiko.logging22.logger-class.html#__init__
-paramiko.packet.NeedRekeyException paramiko.packet.NeedRekeyException-class.html
-paramiko.pipe.OrPipe paramiko.pipe.OrPipe-class.html
-paramiko.pipe.OrPipe.set paramiko.pipe.OrPipe-class.html#set
-paramiko.pipe.OrPipe.clear paramiko.pipe.OrPipe-class.html#clear
-paramiko.pipe.OrPipe.__init__ paramiko.pipe.OrPipe-class.html#__init__
-paramiko.pipe.PosixPipe paramiko.pipe.PosixPipe-class.html
-paramiko.pipe.PosixPipe.fileno paramiko.pipe.PosixPipe-class.html#fileno
-paramiko.pipe.PosixPipe.set paramiko.pipe.PosixPipe-class.html#set
-paramiko.pipe.PosixPipe.clear paramiko.pipe.PosixPipe-class.html#clear
-paramiko.pipe.PosixPipe.set_forever paramiko.pipe.PosixPipe-class.html#set_forever
-paramiko.pipe.PosixPipe.close paramiko.pipe.PosixPipe-class.html#close
-paramiko.pipe.PosixPipe.__init__ paramiko.pipe.PosixPipe-class.html#__init__
-paramiko.pipe.WindowsPipe paramiko.pipe.WindowsPipe-class.html
-paramiko.pipe.WindowsPipe.fileno paramiko.pipe.WindowsPipe-class.html#fileno
-paramiko.pipe.WindowsPipe.set paramiko.pipe.WindowsPipe-class.html#set
-paramiko.pipe.WindowsPipe.clear paramiko.pipe.WindowsPipe-class.html#clear
-paramiko.pipe.WindowsPipe.set_forever paramiko.pipe.WindowsPipe-class.html#set_forever
-paramiko.pipe.WindowsPipe.close paramiko.pipe.WindowsPipe-class.html#close
-paramiko.pipe.WindowsPipe.__init__ paramiko.pipe.WindowsPipe-class.html#__init__
-paramiko.primes.ModulusPack paramiko.primes.ModulusPack-class.html
-paramiko.primes.ModulusPack._parse_modulus paramiko.primes.ModulusPack-class.html#_parse_modulus
-paramiko.primes.ModulusPack.read_file paramiko.primes.ModulusPack-class.html#read_file
-paramiko.primes.ModulusPack.get_modulus paramiko.primes.ModulusPack-class.html#get_modulus
-paramiko.primes.ModulusPack.__init__ paramiko.primes.ModulusPack-class.html#__init__
-paramiko.ssh_exception.PartialAuthentication paramiko.ssh_exception.PartialAuthentication-class.html
-paramiko.ssh_exception.PartialAuthentication.allowed_types paramiko.ssh_exception.PartialAuthentication-class.html#allowed_types
-paramiko.ssh_exception.PartialAuthentication.__init__ paramiko.ssh_exception.PartialAuthentication-class.html#__init__
-paramiko.transport.ChannelMap paramiko.transport.ChannelMap-class.html
-paramiko.transport.ChannelMap.get paramiko.transport.ChannelMap-class.html#get
-paramiko.transport.ChannelMap.values paramiko.transport.ChannelMap-class.html#values
-paramiko.transport.ChannelMap.__init__ paramiko.transport.ChannelMap-class.html#__init__
-paramiko.transport.ChannelMap.put paramiko.transport.ChannelMap-class.html#put
-paramiko.transport.ChannelMap.__len__ paramiko.transport.ChannelMap-class.html#__len__
-paramiko.transport.ChannelMap.delete paramiko.transport.ChannelMap-class.html#delete
-paramiko.util.Counter paramiko.util.Counter-class.html
-paramiko.util.Counter.__call__ paramiko.util.Counter-class.html#__call__
-paramiko.util.Counter.new paramiko.util.Counter-class.html#new
-paramiko.util.Counter.__init__ paramiko.util.Counter-class.html#__init__
-paramiko.util.PFilter paramiko.util.PFilter-class.html
-paramiko.util.PFilter.filter paramiko.util.PFilter-class.html#filter
-paramiko.util.enumerate paramiko.util.enumerate-class.html
-paramiko.util.enumerate.__iter__ paramiko.util.enumerate-class.html#__iter__
-paramiko.util.enumerate.__init__ paramiko.util.enumerate-class.html#__init__
-paramiko.win_pageant.PageantConnection paramiko.win_pageant.PageantConnection-class.html
-paramiko.win_pageant.PageantConnection.send paramiko.win_pageant.PageantConnection-class.html#send
-paramiko.win_pageant.PageantConnection.close paramiko.win_pageant.PageantConnection-class.html#close
-paramiko.win_pageant.PageantConnection.recv paramiko.win_pageant.PageantConnection-class.html#recv
-paramiko.win_pageant.PageantConnection.__init__ paramiko.win_pageant.PageantConnection-class.html#__init__
diff --git a/docs/bug-index.html b/docs/bug-index.html
deleted file mode 100644
index be27b5f..0000000
--- a/docs/bug-index.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Bug List</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">&nbsp;</td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="bug-index.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<center><b>[
- <a href="identifier-index.html">Identifiers</a>
-| <a href="bug-index.html">Bugs</a>
-| <a href="since-index.html">Introductions</a>
-]</b></center><br />
-<h1 class="epydoc"><a name="bug">Bug List</a></h1>
-<br />
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Bugs in <a href="paramiko.Message-class.html#add">paramiko.Message.add</a></b> <ul class="nomargin">
- <li>longs are encoded non-deterministically. Don't use this method.</li>
- </ul>
-</table></div>
-<br /><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:01 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/class-tree.html b/docs/class-tree.html
deleted file mode 100644
index b840938..0000000
--- a/docs/class-tree.html
+++ /dev/null
@@ -1,364 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Class Hierarchy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">&nbsp;</td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="class-tree.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<center><b>
- [ <a href="module-tree.html">Module Hierarchy</a>
- | <a href="class-tree.html">Class Hierarchy</a> ]
-</b></center><br />
-<h1 class="epydoc">Class Hierarchy</h1>
-<ul class="nomargin-top">
- <li> <strong class="uidlink"><a href="paramiko.Agent-class.html">paramiko.Agent</a></strong>:
- <em class="summary">Client interface for using private keys from an SSH agent running
- on the local machine.</em>
- </li>
- <li> <strong class="uidlink">UserDict.DictMixin</strong>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.HostKeys-class.html">paramiko.HostKeys</a></strong>:
- <em class="summary">Representation of an openssh-style &quot;known hosts&quot; file.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.hostkeys.HostKeyEntry-class.html">paramiko.hostkeys.HostKeyEntry</a></strong>:
- <em class="summary">Representation of a line in an OpenSSH-style &quot;known
- hosts&quot; file.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.util.enumerate-class.html">paramiko.util.enumerate</a></strong>
- </li>
- <li> <strong class="uidlink">object</strong>:
- <em class="summary">The most base type</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.ber.BER-class.html">paramiko.ber.BER</a></strong>:
- <em class="summary">Robey's tiny little attempt at a BER decoder.</em>
- </li>
- <li> <strong class="uidlink">exceptions.BaseException</strong>:
- <em class="summary">Common base class for all exceptions</em>
- <ul>
- <li> <strong class="uidlink">exceptions.Exception</strong>:
- <em class="summary">Common base class for all non-exit exceptions.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.ber.BERException-class.html">paramiko.ber.BERException</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.packet.NeedRekeyException-class.html">paramiko.packet.NeedRekeyException</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SFTPError-class.html">paramiko.SFTPError</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SSHException-class.html">paramiko.SSHException</a></strong>:
- <em class="summary">Exception raised by failures in SSH2 protocol negotiation or logic
- errors.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.AuthenticationException-class.html">paramiko.AuthenticationException</a></strong>:
- <em class="summary">Exception raised when authentication failed for some reason.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.BadAuthenticationType-class.html">paramiko.BadAuthenticationType</a></strong>:
- <em class="summary">Exception raised when an authentication type (like password) is
- used, but the server isn't allowing that type.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.ssh_exception.PartialAuthentication-class.html">paramiko.ssh_exception.PartialAuthentication</a></strong>:
- <em class="summary">An internal exception thrown in the case of partial authentication.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.PasswordRequiredException-class.html">paramiko.PasswordRequiredException</a></strong>:
- <em class="summary">Exception raised when a password is needed to unlock a private key
- file.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.BadHostKeyException-class.html">paramiko.BadHostKeyException</a></strong>:
- <em class="summary">The host key given by the SSH server did not match what we were
- expecting.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.ChannelException-class.html">paramiko.ChannelException</a></strong>:
- <em class="summary">Exception raised when an attempt to open a new <a
- href="paramiko.Channel-class.html" class="link">Channel</a> fails.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink">exceptions.StandardError</strong>:
- <em class="summary">Base class for all standard Python exceptions that do not represent
- interpreter exiting.</em>
- <ul>
- <li> <strong class="uidlink">exceptions.EnvironmentError</strong>:
- <em class="summary">Base class for I/O related errors.</em>
- <ul>
- <li> <strong class="uidlink">exceptions.IOError</strong>:
- <em class="summary">I/O operation failed.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.buffered_pipe.PipeTimeout-class.html">paramiko.buffered_pipe.PipeTimeout</a></strong>:
- <em class="summary">Indicates that a timeout was reached on a read from a <a
- href="paramiko.buffered_pipe.BufferedPipe-class.html"
- class="link">BufferedPipe</a>.</em>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink">paramiko.BaseSFTP</strong>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.SFTPClient-class.html">paramiko.SFTPClient</a></strong>:
- <em class="summary">SFTP client object.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.SFTP-class.html">paramiko.SFTP</a></strong>:
- <em class="summary">an alias for <a href="paramiko.SFTPClient-class.html"
- class="link">SFTPClient</a> for backwards compatability</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SFTPServer-class.html">paramiko.SFTPServer</a></strong>:
- <em class="summary">Server-side SFTP subsystem support.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.BufferedFile-class.html">paramiko.BufferedFile</a></strong>:
- <em class="summary">Reusable base class to implement python-style file buffering around
- a simpler stream.</em>
- <ul>
- <li> <strong class="uidlink">paramiko.ChannelFile</strong>:
- <em class="summary">A file-like wrapper around <a href="paramiko.Channel-class.html"
- class="link">Channel</a>.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.channel.ChannelStderrFile-class.html">paramiko.channel.ChannelStderrFile</a></strong>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SFTPFile-class.html">paramiko.SFTPFile</a></strong>:
- <em class="summary">Proxy object for a file on the remote server, in client mode SFTP.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.buffered_pipe.BufferedPipe-class.html">paramiko.buffered_pipe.BufferedPipe</a></strong>:
- <em class="summary">A buffer that obeys normal read (with timeout) &amp; close
- semantics for a file or socket, but is fed data from another
- thread.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.Channel-class.html">paramiko.Channel</a></strong>:
- <em class="summary">A secure tunnel across an SSH <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.transport.ChannelMap-class.html">paramiko.transport.ChannelMap</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.util.Counter-class.html">paramiko.util.Counter</a></strong>:
- <em class="summary">Stateful counter for CTR mode crypto</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.logging22.Formatter-class.html">paramiko.logging22.Formatter</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.kex_gex.KexGex-class.html">paramiko.kex_gex.KexGex</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.kex_group1.KexGroup1-class.html">paramiko.kex_group1.KexGroup1</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.Message-class.html">paramiko.Message</a></strong>:
- <em class="summary">An SSH2 <i>Message</i> is a stream of bytes that encodes some
- combination of strings, integers, bools, and infinite-precision
- integers (known in python as <i>long</i>s).</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.MissingHostKeyPolicy-class.html">paramiko.MissingHostKeyPolicy</a></strong>:
- <em class="summary">Interface for defining the policy that <a
- href="paramiko.SSHClient-class.html" class="link">SSHClient</a>
- should use when the SSH server's hostname is not in either the
- system host keys or the application's keys.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.AutoAddPolicy-class.html">paramiko.AutoAddPolicy</a></strong>:
- <em class="summary">Policy for automatically adding the hostname and new host key to
- the local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object, and saving it.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.RejectPolicy-class.html">paramiko.RejectPolicy</a></strong>:
- <em class="summary">Policy for automatically rejecting the unknown hostname &amp; key.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.WarningPolicy-class.html">paramiko.WarningPolicy</a></strong>:
- <em class="summary">Policy for logging a python-style warning for an unknown host key,
- but accepting it.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.primes.ModulusPack-class.html">paramiko.primes.ModulusPack</a></strong>:
- <em class="summary">convenience object for holding the contents of the /etc/ssh/moduli
- file, on systems that have such a file.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.pipe.OrPipe-class.html">paramiko.pipe.OrPipe</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.util.PFilter-class.html">paramiko.util.PFilter</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.PKey-class.html">paramiko.PKey</a></strong>:
- <em class="summary">Base class for public keys.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.AgentKey-class.html">paramiko.AgentKey</a></strong>:
- <em class="summary">Private key held in a local SSH agent.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.DSSKey-class.html">paramiko.DSSKey</a></strong>:
- <em class="summary">Representation of a DSS key which can be used to sign an verify
- SSH2 data.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.RSAKey-class.html">paramiko.RSAKey</a></strong>:
- <em class="summary">Representation of an RSA key which can be used to sign and verify
- SSH2 data.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.win_pageant.PageantConnection-class.html">paramiko.win_pageant.PageantConnection</a></strong>:
- <em class="summary">Mock &quot;connection&quot; to an agent which roughly approximates
- the behavior of a unix local-domain socket (as used by Agent).</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.pipe.PosixPipe-class.html">paramiko.pipe.PosixPipe</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SFTPAttributes-class.html">paramiko.SFTPAttributes</a></strong>:
- <em class="summary">Representation of the attributes of a file (or proxied file) for
- SFTP in client or server mode.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SFTPHandle-class.html">paramiko.SFTPHandle</a></strong>:
- <em class="summary">Abstract object representing a handle to an open file (or folder)
- in an SFTP server implementation.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SFTPServerInterface-class.html">paramiko.SFTPServerInterface</a></strong>:
- <em class="summary">This class defines an interface for controlling the behavior of
- paramiko when using the <a href="paramiko.SFTPServer-class.html"
- class="link">SFTPServer</a> subsystem to provide an SFTP server.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SSHClient-class.html">paramiko.SSHClient</a></strong>:
- <em class="summary">A high-level representation of a session with an SSH server.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SSHConfig-class.html">paramiko.SSHConfig</a></strong>:
- <em class="summary">Representation of config information as stored in the format used
- by OpenSSH.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.SecurityOptions-class.html">paramiko.SecurityOptions</a></strong>:
- <em class="summary">Simple object containing the security preferences of an ssh
- transport.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.ServerInterface-class.html">paramiko.ServerInterface</a></strong>:
- <em class="summary">This class defines an interface for controlling the behavior of
- paramiko in server mode.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.logging22.StreamHandler-class.html">paramiko.logging22.StreamHandler</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.pipe.WindowsPipe-class.html">paramiko.pipe.WindowsPipe</a></strong>:
- <em class="summary">On Windows, only an OS-level &quot;WinSock&quot; may be used in
- select(), but reads and writes must be to the actual socket object.</em>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.compress.ZlibCompressor-class.html">paramiko.compress.ZlibCompressor</a></strong>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.compress.ZlibDecompressor-class.html">paramiko.compress.ZlibDecompressor</a></strong>
- </li>
- <li> <strong class="uidlink">threading._Verbose</strong>
- <ul>
- <li> <strong class="uidlink">threading.Thread</strong>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.SubsystemHandler-class.html">paramiko.SubsystemHandler</a></strong>:
- <em class="summary">Handler for a subsytem in server mode.</em>
- <ul>
- <li> <strong class="uidlink"><a href="paramiko.SFTPServer-class.html">paramiko.SFTPServer</a></strong>:
- <em class="summary">Server-side SFTP subsystem support.</em>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.Transport-class.html">paramiko.Transport</a></strong>:
- <em class="summary">An SSH Transport attaches to a stream (usually a socket),
- negotiates an encrypted session, authenticates, and then creates
- stream tunnels, called <a href="paramiko.Channel-class.html"
- class="link">Channel</a>s, across the session.</em>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li> <strong class="uidlink"><a href="paramiko.logging22.logger-class.html">paramiko.logging22.logger</a></strong>
- </li>
- </ul>
- </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:01 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/crarr.png b/docs/crarr.png
deleted file mode 100644
index 26b43c5..0000000
--- a/docs/crarr.png
+++ /dev/null
Binary files differ
diff --git a/docs/epydoc.css b/docs/epydoc.css
deleted file mode 100644
index 86d4170..0000000
--- a/docs/epydoc.css
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-/* Epydoc CSS Stylesheet
- *
- * This stylesheet can be used to customize the appearance of epydoc's
- * HTML output.
- *
- */
-
-/* Default Colors & Styles
- * - Set the default foreground & background color with 'body'; and
- * link colors with 'a:link' and 'a:visited'.
- * - Use bold for decision list terms.
- * - The heading styles defined here are used for headings *within*
- * docstring descriptions. All headings used by epydoc itself use
- * either class='epydoc' or class='toc' (CSS styles for both
- * defined below).
- */
-body { background: #ffffff; color: #000000; }
-p { margin-top: 0.5em; margin-bottom: 0.5em; }
-a:link { color: #0000ff; }
-a:visited { color: #204080; }
-dt { font-weight: bold; }
-h1 { font-size: +140%; font-style: italic;
- font-weight: bold; }
-h2 { font-size: +125%; font-style: italic;
- font-weight: bold; }
-h3 { font-size: +110%; font-style: italic;
- font-weight: normal; }
-code { font-size: 100%; }
-/* N.B.: class, not pseudoclass */
-a.link { font-family: monospace; }
-
-/* Page Header & Footer
- * - The standard page header consists of a navigation bar (with
- * pointers to standard pages such as 'home' and 'trees'); a
- * breadcrumbs list, which can be used to navigate to containing
- * classes or modules; options links, to show/hide private
- * variables and to show/hide frames; and a page title (using
- * <h1>). The page title may be followed by a link to the
- * corresponding source code (using 'span.codelink').
- * - The footer consists of a navigation bar, a timestamp, and a
- * pointer to epydoc's homepage.
- */
-h1.epydoc { margin: 0; font-size: +140%; font-weight: bold; }
-h2.epydoc { font-size: +130%; font-weight: bold; }
-h3.epydoc { font-size: +115%; font-weight: bold;
- margin-top: 0.2em; }
-td h3.epydoc { font-size: +115%; font-weight: bold;
- margin-bottom: 0; }
-table.navbar { background: #a0c0ff; color: #000000;
- border: 2px groove #c0d0d0; }
-table.navbar table { color: #000000; }
-th.navbar-select { background: #70b0ff;
- color: #000000; }
-table.navbar a { text-decoration: none; }
-table.navbar a:link { color: #0000ff; }
-table.navbar a:visited { color: #204080; }
-span.breadcrumbs { font-size: 85%; font-weight: bold; }
-span.options { font-size: 70%; }
-span.codelink { font-size: 85%; }
-td.footer { font-size: 85%; }
-
-/* Table Headers
- * - Each summary table and details section begins with a 'header'
- * row. This row contains a section title (marked by
- * 'span.table-header') as well as a show/hide private link
- * (marked by 'span.options', defined above).
- * - Summary tables that contain user-defined groups mark those
- * groups using 'group header' rows.
- */
-td.table-header { background: #70b0ff; color: #000000;
- border: 1px solid #608090; }
-td.table-header table { color: #000000; }
-td.table-header table a:link { color: #0000ff; }
-td.table-header table a:visited { color: #204080; }
-span.table-header { font-size: 120%; font-weight: bold; }
-th.group-header { background: #c0e0f8; color: #000000;
- text-align: left; font-style: italic;
- font-size: 115%;
- border: 1px solid #608090; }
-
-/* Summary Tables (functions, variables, etc)
- * - Each object is described by a single row of the table with
- * two cells. The left cell gives the object's type, and is
- * marked with 'code.summary-type'. The right cell gives the
- * object's name and a summary description.
- * - CSS styles for the table's header and group headers are
- * defined above, under 'Table Headers'
- */
-table.summary { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090;
- margin-bottom: 0.5em; }
-td.summary { border: 1px solid #608090; }
-code.summary-type { font-size: 85%; }
-table.summary a:link { color: #0000ff; }
-table.summary a:visited { color: #204080; }
-
-
-/* Details Tables (functions, variables, etc)
- * - Each object is described in its own div.
- * - A single-row summary table w/ table-header is used as
- * a header for each details section (CSS style for table-header
- * is defined above, under 'Table Headers').
- */
-table.details { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090;
- margin: .2em 0 0 0; }
-table.details table { color: #000000; }
-table.details a:link { color: #0000ff; }
-table.details a:visited { color: #204080; }
-
-/* Fields */
-dl.fields { margin-left: 2em; margin-top: 1em;
- margin-bottom: 1em; }
-dl.fields dd ul { margin-left: 0em; padding-left: 0em; }
-dl.fields dd ul li ul { margin-left: 2em; padding-left: 0em; }
-div.fields { margin-left: 2em; }
-div.fields p { margin-bottom: 0.5em; }
-
-/* Index tables (identifier index, term index, etc)
- * - link-index is used for indices containing lists of links
- * (namely, the identifier index & term index).
- * - index-where is used in link indices for the text indicating
- * the container/source for each link.
- * - metadata-index is used for indices containing metadata
- * extracted from fields (namely, the bug index & todo index).
- */
-table.link-index { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090; }
-td.link-index { border-width: 0px; }
-table.link-index a:link { color: #0000ff; }
-table.link-index a:visited { color: #204080; }
-span.index-where { font-size: 70%; }
-table.metadata-index { border-collapse: collapse;
- background: #e8f0f8; color: #000000;
- border: 1px solid #608090;
- margin: .2em 0 0 0; }
-td.metadata-index { border-width: 1px; border-style: solid; }
-table.metadata-index a:link { color: #0000ff; }
-table.metadata-index a:visited { color: #204080; }
-
-/* Function signatures
- * - sig* is used for the signature in the details section.
- * - .summary-sig* is used for the signature in the summary
- * table, and when listing property accessor functions.
- * */
-.sig-name { color: #006080; }
-.sig-arg { color: #008060; }
-.sig-default { color: #602000; }
-.summary-sig { font-family: monospace; }
-.summary-sig-name { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:link
- { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:visited
- { color: #006080; font-weight: bold; }
-.summary-sig-arg { color: #006040; }
-.summary-sig-default { color: #501800; }
-
-/* Subclass list
- */
-ul.subclass-list { display: inline; }
-ul.subclass-list li { display: inline; }
-
-/* To render variables, classes etc. like functions */
-table.summary .summary-name { color: #006080; font-weight: bold;
- font-family: monospace; }
-table.summary
- a.summary-name:link { color: #006080; font-weight: bold;
- font-family: monospace; }
-table.summary
- a.summary-name:visited { color: #006080; font-weight: bold;
- font-family: monospace; }
-
-/* Variable values
- * - In the 'variable details' sections, each varaible's value is
- * listed in a 'pre.variable' box. The width of this box is
- * restricted to 80 chars; if the value's repr is longer than
- * this it will be wrapped, using a backslash marked with
- * class 'variable-linewrap'. If the value's repr is longer
- * than 3 lines, the rest will be ellided; and an ellipsis
- * marker ('...' marked with 'variable-ellipsis') will be used.
- * - If the value is a string, its quote marks will be marked
- * with 'variable-quote'.
- * - If the variable is a regexp, it is syntax-highlighted using
- * the re* CSS classes.
- */
-pre.variable { padding: .5em; margin: 0;
- background: #dce4ec; color: #000000;
- border: 1px solid #708890; }
-.variable-linewrap { color: #604000; font-weight: bold; }
-.variable-ellipsis { color: #604000; font-weight: bold; }
-.variable-quote { color: #604000; font-weight: bold; }
-.variable-group { color: #008000; font-weight: bold; }
-.variable-op { color: #604000; font-weight: bold; }
-.variable-string { color: #006030; }
-.variable-unknown { color: #a00000; font-weight: bold; }
-.re { color: #000000; }
-.re-char { color: #006030; }
-.re-op { color: #600000; }
-.re-group { color: #003060; }
-.re-ref { color: #404040; }
-
-/* Base tree
- * - Used by class pages to display the base class hierarchy.
- */
-pre.base-tree { font-size: 80%; margin: 0; }
-
-/* Frames-based table of contents headers
- * - Consists of two frames: one for selecting modules; and
- * the other listing the contents of the selected module.
- * - h1.toc is used for each frame's heading
- * - h2.toc is used for subheadings within each frame.
- */
-h1.toc { text-align: center; font-size: 105%;
- margin: 0; font-weight: bold;
- padding: 0; }
-h2.toc { font-size: 100%; font-weight: bold;
- margin: 0.5em 0 0 -0.3em; }
-
-/* Syntax Highlighting for Source Code
- * - doctest examples are displayed in a 'pre.py-doctest' block.
- * If the example is in a details table entry, then it will use
- * the colors specified by the 'table pre.py-doctest' line.
- * - Source code listings are displayed in a 'pre.py-src' block.
- * Each line is marked with 'span.py-line' (used to draw a line
- * down the left margin, separating the code from the line
- * numbers). Line numbers are displayed with 'span.py-lineno'.
- * The expand/collapse block toggle button is displayed with
- * 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
- * modify the font size of the text.)
- * - If a source code page is opened with an anchor, then the
- * corresponding code block will be highlighted. The code
- * block's header is highlighted with 'py-highlight-hdr'; and
- * the code block's body is highlighted with 'py-highlight'.
- * - The remaining py-* classes are used to perform syntax
- * highlighting (py-string for string literals, py-name for names,
- * etc.)
- */
-pre.py-doctest { padding: .5em; margin: 1em;
- background: #e8f0f8; color: #000000;
- border: 1px solid #708890; }
-table pre.py-doctest { background: #dce4ec;
- color: #000000; }
-pre.py-src { border: 2px solid #000000;
- background: #f0f0f0; color: #000000; }
-.py-line { border-left: 2px solid #000000;
- margin-left: .2em; padding-left: .4em; }
-.py-lineno { font-style: italic; font-size: 90%;
- padding-left: .5em; }
-a.py-toggle { text-decoration: none; }
-div.py-highlight-hdr { border-top: 2px solid #000000;
- border-bottom: 2px solid #000000;
- background: #d8e8e8; }
-div.py-highlight { border-bottom: 2px solid #000000;
- background: #d0e0e0; }
-.py-prompt { color: #005050; font-weight: bold;}
-.py-more { color: #005050; font-weight: bold;}
-.py-string { color: #006030; }
-.py-comment { color: #003060; }
-.py-keyword { color: #600000; }
-.py-output { color: #404040; }
-.py-name { color: #000050; }
-.py-name:link { color: #000050 !important; }
-.py-name:visited { color: #000050 !important; }
-.py-number { color: #005000; }
-.py-defname { color: #000060; font-weight: bold; }
-.py-def-name { color: #000060; font-weight: bold; }
-.py-base-class { color: #000060; }
-.py-param { color: #000060; }
-.py-docstring { color: #006030; }
-.py-decorator { color: #804020; }
-/* Use this if you don't want links to names underlined: */
-/*a.py-name { text-decoration: none; }*/
-
-/* Graphs & Diagrams
- * - These CSS styles are used for graphs & diagrams generated using
- * Graphviz dot. 'img.graph-without-title' is used for bare
- * diagrams (to remove the border created by making the image
- * clickable).
- */
-img.graph-without-title { border: none; }
-img.graph-with-title { border: 1px solid #000000; }
-span.graph-title { font-weight: bold; }
-span.graph-caption { }
-
-/* General-purpose classes
- * - 'p.indent-wrapped-lines' defines a paragraph whose first line
- * is not indented, but whose subsequent lines are.
- * - The 'nomargin-top' class is used to remove the top margin (e.g.
- * from lists). The 'nomargin' class is used to remove both the
- * top and bottom margin (but not the left or right margin --
- * for lists, that would cause the bullets to disappear.)
- */
-p.indent-wrapped-lines { padding: 0 0 0 7em; text-indent: -7em;
- margin: 0; }
-.nomargin-top { margin-top: 0; }
-.nomargin { margin-top: 0; margin-bottom: 0; }
-
-/* HTML Log */
-div.log-block { padding: 0; margin: .5em 0 .5em 0;
- background: #e8f0f8; color: #000000;
- border: 1px solid #000000; }
-div.log-error { padding: .1em .3em .1em .3em; margin: 4px;
- background: #ffb0b0; color: #000000;
- border: 1px solid #000000; }
-div.log-warning { padding: .1em .3em .1em .3em; margin: 4px;
- background: #ffffb0; color: #000000;
- border: 1px solid #000000; }
-div.log-info { padding: .1em .3em .1em .3em; margin: 4px;
- background: #b0ffb0; color: #000000;
- border: 1px solid #000000; }
-h2.log-hdr { background: #70b0ff; color: #000000;
- margin: 0; padding: 0em 0.5em 0em 0.5em;
- border-bottom: 1px solid #000000; font-size: 110%; }
-p.log { font-weight: bold; margin: .5em 0 .5em 0; }
-tr.opt-changed { color: #000000; font-weight: bold; }
-tr.opt-default { color: #606060; }
-pre.log { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/docs/epydoc.js b/docs/epydoc.js
deleted file mode 100644
index e787dbc..0000000
--- a/docs/epydoc.js
+++ /dev/null
@@ -1,293 +0,0 @@
-function toggle_private() {
- // Search for any private/public links on this page. Store
- // their old text in "cmd," so we will know what action to
- // take; and change their text to the opposite action.
- var cmd = "?";
- var elts = document.getElementsByTagName("a");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "privatelink") {
- cmd = elts[i].innerHTML;
- elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
- "hide&nbsp;private":"show&nbsp;private");
- }
- }
- // Update all DIVs containing private objects.
- var elts = document.getElementsByTagName("div");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
- }
- else if (elts[i].className == "public") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
- }
- }
- // Update all table rows containing private objects. Note, we
- // use "" instead of "block" becaue IE & firefox disagree on what
- // this should be (block vs table-row), and "" just gives the
- // default for both browsers.
- var elts = document.getElementsByTagName("tr");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
- }
- }
- // Update all list items containing private objects.
- var elts = document.getElementsByTagName("li");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
- "none":"");
- }
- }
- // Update all list items containing private objects.
- var elts = document.getElementsByTagName("ul");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "private") {
- elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
- }
- }
- // Set a cookie to remember the current option.
- document.cookie = "EpydocPrivate="+cmd;
- }
-function show_private() {
- var elts = document.getElementsByTagName("a");
- for(var i=0; i<elts.length; i++) {
- if (elts[i].className == "privatelink") {
- cmd = elts[i].innerHTML;
- if (cmd && cmd.substr(0,4)=="show")
- toggle_private();
- }
- }
- }
-function getCookie(name) {
- var dc = document.cookie;
- var prefix = name + "=";
- var begin = dc.indexOf("; " + prefix);
- if (begin == -1) {
- begin = dc.indexOf(prefix);
- if (begin != 0) return null;
- } else
- { begin += 2; }
- var end = document.cookie.indexOf(";", begin);
- if (end == -1)
- { end = dc.length; }
- return unescape(dc.substring(begin + prefix.length, end));
- }
-function setFrame(url1, url2) {
- parent.frames[1].location.href = url1;
- parent.frames[2].location.href = url2;
- }
-function checkCookie() {
- var cmd=getCookie("EpydocPrivate");
- if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
- toggle_private();
- }
-function toggleCallGraph(id) {
- var elt = document.getElementById(id);
- if (elt.style.display == "none")
- elt.style.display = "block";
- else
- elt.style.display = "none";
- }
-function expand(id) {
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.style.display = "block";
- var elt = document.getElementById(id+"-expanded-linenums");
- if (elt) elt.style.display = "block";
- var elt = document.getElementById(id+"-collapsed");
- if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
- var elt = document.getElementById(id+"-collapsed-linenums");
- if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
- var elt = document.getElementById(id+"-toggle");
- if (elt) { elt.innerHTML = "-"; }
-}
-
-function collapse(id) {
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.style.display = "none";
- var elt = document.getElementById(id+"-expanded-linenums");
- if (elt) elt.style.display = "none";
- var elt = document.getElementById(id+"-collapsed-linenums");
- if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
- var elt = document.getElementById(id+"-toggle");
- if (elt) { elt.innerHTML = "+"; }
- var elt = document.getElementById(id+"-collapsed");
- if (elt) {
- elt.style.display = "block";
-
- var indent = elt.getAttribute("indent");
- var pad = elt.getAttribute("pad");
- var s = "<tt class='py-lineno'>";
- for (var i=0; i<pad.length; i++) { s += "&nbsp;" }
- s += "</tt>";
- s += "&nbsp;&nbsp;<tt class='py-line'>";
- for (var i=0; i<indent.length; i++) { s += "&nbsp;" }
- s += "<a href='#' onclick='expand(\"" + id;
- s += "\");return false'>...</a></tt><br />";
- elt.innerHTML = s;
- }
-}
-
-function toggle(id) {
- elt = document.getElementById(id+"-toggle");
- if (elt.innerHTML == "-")
- collapse(id);
- else
- expand(id);
- return false;
-}
-
-function highlight(id) {
- var elt = document.getElementById(id+"-def");
- if (elt) elt.className = "py-highlight-hdr";
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.className = "py-highlight";
- var elt = document.getElementById(id+"-collapsed");
- if (elt) elt.className = "py-highlight";
-}
-
-function num_lines(s) {
- var n = 1;
- var pos = s.indexOf("\n");
- while ( pos > 0) {
- n += 1;
- pos = s.indexOf("\n", pos+1);
- }
- return n;
-}
-
-// Collapse all blocks that mave more than `min_lines` lines.
-function collapse_all(min_lines) {
- var elts = document.getElementsByTagName("div");
- for (var i=0; i<elts.length; i++) {
- var elt = elts[i];
- var split = elt.id.indexOf("-");
- if (split > 0)
- if (elt.id.substring(split, elt.id.length) == "-expanded")
- if (num_lines(elt.innerHTML) > min_lines)
- collapse(elt.id.substring(0, split));
- }
-}
-
-function expandto(href) {
- var start = href.indexOf("#")+1;
- if (start != 0 && start != href.length) {
- if (href.substring(start, href.length) != "-") {
- collapse_all(4);
- pos = href.indexOf(".", start);
- while (pos != -1) {
- var id = href.substring(start, pos);
- expand(id);
- pos = href.indexOf(".", pos+1);
- }
- var id = href.substring(start, href.length);
- expand(id);
- highlight(id);
- }
- }
-}
-
-function kill_doclink(id) {
- var parent = document.getElementById(id);
- parent.removeChild(parent.childNodes.item(0));
-}
-function auto_kill_doclink(ev) {
- if (!ev) var ev = window.event;
- if (!this.contains(ev.toElement)) {
- var parent = document.getElementById(this.parentID);
- parent.removeChild(parent.childNodes.item(0));
- }
-}
-
-function doclink(id, name, targets_id) {
- var elt = document.getElementById(id);
-
- // If we already opened the box, then destroy it.
- // (This case should never occur, but leave it in just in case.)
- if (elt.childNodes.length > 1) {
- elt.removeChild(elt.childNodes.item(0));
- }
- else {
- // The outer box: relative + inline positioning.
- var box1 = document.createElement("div");
- box1.style.position = "relative";
- box1.style.display = "inline";
- box1.style.top = 0;
- box1.style.left = 0;
-
- // A shadow for fun
- var shadow = document.createElement("div");
- shadow.style.position = "absolute";
- shadow.style.left = "-1.3em";
- shadow.style.top = "-1.3em";
- shadow.style.background = "#404040";
-
- // The inner box: absolute positioning.
- var box2 = document.createElement("div");
- box2.style.position = "relative";
- box2.style.border = "1px solid #a0a0a0";
- box2.style.left = "-.2em";
- box2.style.top = "-.2em";
- box2.style.background = "white";
- box2.style.padding = ".3em .4em .3em .4em";
- box2.style.fontStyle = "normal";
- box2.onmouseout=auto_kill_doclink;
- box2.parentID = id;
-
- // Get the targets
- var targets_elt = document.getElementById(targets_id);
- var targets = targets_elt.getAttribute("targets");
- var links = "";
- target_list = targets.split(",");
- for (var i=0; i<target_list.length; i++) {
- var target = target_list[i].split("=");
- links += "<li><a href='" + target[1] +
- "' style='text-decoration:none'>" +
- target[0] + "</a></li>";
- }
-
- // Put it all together.
- elt.insertBefore(box1, elt.childNodes.item(0));
- //box1.appendChild(box2);
- box1.appendChild(shadow);
- shadow.appendChild(box2);
- box2.innerHTML =
- "Which <b>"+name+"</b> do you want to see documentation for?" +
- "<ul style='margin-bottom: 0;'>" +
- links +
- "<li><a href='#' style='text-decoration:none' " +
- "onclick='kill_doclink(\""+id+"\");return false;'>"+
- "<i>None of the above</i></a></li></ul>";
- }
- return false;
-}
-
-function get_anchor() {
- var href = location.href;
- var start = href.indexOf("#")+1;
- if ((start != 0) && (start != href.length))
- return href.substring(start, href.length);
- }
-function redirect_url(dottedName) {
- // Scan through each element of the "pages" list, and check
- // if "name" matches with any of them.
- for (var i=0; i<pages.length; i++) {
-
- // Each page has the form "<pagename>-m" or "<pagename>-c";
- // extract the <pagename> portion & compare it to dottedName.
- var pagename = pages[i].substring(0, pages[i].length-2);
- if (pagename == dottedName.substring(0,pagename.length)) {
-
- // We've found a page that matches `dottedName`;
- // construct its URL, using leftover `dottedName`
- // content to form an anchor.
- var pagetype = pages[i].charAt(pages[i].length-1);
- var url = pagename + ((pagetype=="m")?"-module.html":
- "-class.html");
- if (dottedName.length > pagename.length)
- url += "#" + dottedName.substring(pagename.length+1,
- dottedName.length);
- return url;
- }
- }
- }
diff --git a/docs/frames.html b/docs/frames.html
deleted file mode 100644
index d1e8877..0000000
--- a/docs/frames.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
- "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
- <frameset rows="30%,70%">
- <frame src="toc.html" name="moduleListFrame"
- id="moduleListFrame" />
- <frame src="toc-everything.html" name="moduleFrame"
- id="moduleFrame" />
- </frameset>
- <frame src="paramiko-module.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/docs/help.html b/docs/help.html
deleted file mode 100644
index 2ff891a..0000000
--- a/docs/help.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Help</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">&nbsp;</td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="help.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-
-<h1 class="epydoc"> API Documentation </h1>
-
-<p> This document contains the API (Application Programming Interface)
-documentation for this project. Documentation for the Python
-objects defined by the project is divided into separate pages for each
-package, module, and class. The API documentation also includes two
-pages containing information about the project as a whole: a trees
-page, and an index page. </p>
-
-<h2> Object Documentation </h2>
-
- <p>Each <strong>Package Documentation</strong> page contains: </p>
- <ul>
- <li> A description of the package. </li>
- <li> A list of the modules and sub-packages contained by the
- package. </li>
- <li> A summary of the classes defined by the package. </li>
- <li> A summary of the functions defined by the package. </li>
- <li> A summary of the variables defined by the package. </li>
- <li> A detailed description of each function defined by the
- package. </li>
- <li> A detailed description of each variable defined by the
- package. </li>
- </ul>
-
- <p>Each <strong>Module Documentation</strong> page contains:</p>
- <ul>
- <li> A description of the module. </li>
- <li> A summary of the classes defined by the module. </li>
- <li> A summary of the functions defined by the module. </li>
- <li> A summary of the variables defined by the module. </li>
- <li> A detailed description of each function defined by the
- module. </li>
- <li> A detailed description of each variable defined by the
- module. </li>
- </ul>
-
- <p>Each <strong>Class Documentation</strong> page contains: </p>
- <ul>
- <li> A class inheritance diagram. </li>
- <li> A list of known subclasses. </li>
- <li> A description of the class. </li>
- <li> A summary of the methods defined by the class. </li>
- <li> A summary of the instance variables defined by the class. </li>
- <li> A summary of the class (static) variables defined by the
- class. </li>
- <li> A detailed description of each method defined by the
- class. </li>
- <li> A detailed description of each instance variable defined by the
- class. </li>
- <li> A detailed description of each class (static) variable defined
- by the class. </li>
- </ul>
-
-<h2> Project Documentation </h2>
-
- <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
- <ul>
- <li> The <em>module hierarchy</em> lists every package and module, with
- modules grouped into packages. At the top level, and within each
- package, modules and sub-packages are listed alphabetically. </li>
- <li> The <em>class hierarchy</em> lists every class, grouped by base
- class. If a class has more than one base class, then it will be
- listed under each base class. At the top level, and under each base
- class, classes are listed alphabetically. </li>
- </ul>
-
- <p> The <strong>Index</strong> page contains indices of terms and
- identifiers: </p>
- <ul>
- <li> The <em>term index</em> lists every term indexed by any object's
- documentation. For each term, the index provides links to each
- place where the term is indexed. </li>
- <li> The <em>identifier index</em> lists the (short) name of every package,
- module, class, method, function, variable, and parameter. For each
- identifier, the index provides a short description, and a link to
- its documentation. </li>
- </ul>
-
-<h2> The Table of Contents </h2>
-
-<p> The table of contents occupies the two frames on the left side of
-the window. The upper-left frame displays the <em>project
-contents</em>, and the lower-left frame displays the <em>module
-contents</em>: </p>
-
-<table class="help summary" border="1" cellspacing="0" cellpadding="3">
- <tr style="height: 30%">
- <td align="center" style="font-size: small">
- Project<br />Contents<hr />...</td>
- <td align="center" style="font-size: small" rowspan="2" width="70%">
- API<br />Documentation<br />Frame<br /><br /><br />
- </td>
- </tr>
- <tr>
- <td align="center" style="font-size: small">
- Module<br />Contents<hr />&nbsp;<br />...<br />&nbsp;
- </td>
- </tr>
-</table><br />
-
-<p> The <strong>project contents frame</strong> contains a list of all packages
-and modules that are defined by the project. Clicking on an entry
-will display its contents in the module contents frame. Clicking on a
-special entry, labeled "Everything," will display the contents of
-the entire project. </p>
-
-<p> The <strong>module contents frame</strong> contains a list of every
-submodule, class, type, exception, function, and variable defined by a
-module or package. Clicking on an entry will display its
-documentation in the API documentation frame. Clicking on the name of
-the module, at the top of the frame, will display the documentation
-for the module itself. </p>
-
-<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
-navigation bar can be used to control whether the table of contents is
-displayed or not. </p>
-
-<h2> The Navigation Bar </h2>
-
-<p> A navigation bar is located at the top and bottom of every page.
-It indicates what type of page you are currently viewing, and allows
-you to go to related pages. The following table describes the labels
-on the navigation bar. Note that not some labels (such as
-[Parent]) are not displayed on all pages. </p>
-
-<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
-<tr class="summary">
- <th>Label</th>
- <th>Highlighted when...</th>
- <th>Links to...</th>
-</tr>
- <tr><td valign="top"><strong>[Parent]</strong></td>
- <td valign="top"><em>(never highlighted)</em></td>
- <td valign="top"> the parent of the current package </td></tr>
- <tr><td valign="top"><strong>[Package]</strong></td>
- <td valign="top">viewing a package</td>
- <td valign="top">the package containing the current object
- </td></tr>
- <tr><td valign="top"><strong>[Module]</strong></td>
- <td valign="top">viewing a module</td>
- <td valign="top">the module containing the current object
- </td></tr>
- <tr><td valign="top"><strong>[Class]</strong></td>
- <td valign="top">viewing a class </td>
- <td valign="top">the class containing the current object</td></tr>
- <tr><td valign="top"><strong>[Trees]</strong></td>
- <td valign="top">viewing the trees page</td>
- <td valign="top"> the trees page </td></tr>
- <tr><td valign="top"><strong>[Index]</strong></td>
- <td valign="top">viewing the index page</td>
- <td valign="top"> the index page </td></tr>
- <tr><td valign="top"><strong>[Help]</strong></td>
- <td valign="top">viewing the help page</td>
- <td valign="top"> the help page </td></tr>
-</table>
-
-<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
-the top navigation bar can be used to control whether documentation
-for private objects is displayed. Private objects are usually defined
-as objects whose (short) names begin with a single underscore, but do
-not end with an underscore. For example, "<code>_x</code>",
-"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
-are private objects; but "<code>re.sub</code>",
-"<code>__init__</code>", and "<code>type_</code>" are not. However,
-if a module defines the "<code>__all__</code>" variable, then its
-contents are used to decide which objects are private. </p>
-
-<p> A timestamp below the bottom navigation bar indicates when each
-page was last updated. </p>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:01 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/identifier-index.html b/docs/identifier-index.html
deleted file mode 100644
index ee9873e..0000000
--- a/docs/identifier-index.html
+++ /dev/null
@@ -1,5475 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Identifier Index</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">&nbsp;</td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="identifier-index.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<center><b>[
- <a href="identifier-index.html">Identifiers</a>
-| <a href="bug-index.html">Bugs</a>
-| <a href="since-index.html">Introductions</a>
-]</b></center><br />
-<table border="0" width="100%">
-<tr valign="bottom"><td>
-<h1 class="epydoc">Identifier Index</h1>
-</td><td>
-[
- <a href="#A">A</a>
- <a href="#B">B</a>
- <a href="#C">C</a>
- <a href="#D">D</a>
- <a href="#E">E</a>
- <a href="#F">F</a>
- <a href="#G">G</a>
- <a href="#H">H</a>
- <a href="#I">I</a>
- J
- <a href="#K">K</a>
- <a href="#L">L</a>
- <a href="#M">M</a>
- <a href="#N">N</a>
- <a href="#O">O</a>
- <a href="#P">P</a>
- Q
- <a href="#R">R</a>
- <a href="#S">S</a>
- <a href="#T">T</a>
- <a href="#U">U</a>
- <a href="#V">V</a>
- <a href="#W">W</a>
- <a href="#X">X</a>
- Y
- <a href="#Z">Z</a>
- <a href="#_">_</a>
-]
-</td></table>
-<table border="0" width="100%">
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#accept">accept()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#add">add()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add">add()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_boolean">add_boolean()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_byte">add_byte()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_bytes">add_bytes()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#auth_password">auth_password()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_int">add_int()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#auth_publickey">auth_publickey()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_int64">add_int64()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_list">add_list()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_mpint">add_mpint()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#add_server_key">add_server_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#add_string">add_string()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html">auth_handler</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.logger-class.html#addFilter">addFilter()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.logger-class.html">logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#auth_interactive">auth_interactive()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.logger-class.html#addHandler">addHandler()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.logger-class.html">logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#auth_none">auth_none()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Agent-class.html">Agent</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.agent-module.html">agent</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.AgentKey-class.html">AgentKey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BadAuthenticationType-class.html#allowed_types">allowed_types</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ssh_exception.PartialAuthentication-class.html#allowed_types">allowed_types</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ssh_exception.PartialAuthentication-class.html">PartialAuthentication</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#atfork">atfork()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#AUTH_SUCCESSFUL">AUTH_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.AuthenticationException-class.html">AuthenticationException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#AUTH_FAILED">AUTH_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#AUTH_PARTIALLY_SUCCESSFUL">AUTH_PARTIALLY_SUCCESSFUL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.AutoAddPolicy-class.html">AutoAddPolicy</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html">BER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber-module.html" onclick="show_private();">paramiko.ber</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe-module.html">buffered_pipe</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BadHostKeyException-class.html">BadHostKeyException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ber.BERException-class.html">BERException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber-module.html" onclick="show_private();">paramiko.ber</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html">BufferedFile</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber-module.html">ber</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#bit_length">bit_length()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe-module.html" onclick="show_private();">paramiko.buffered_pipe</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#can_sign">can_sign()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#can_sign">can_sign()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#can_sign">can_sign()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#can_talk_to_agent">can_talk_to_agent()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#cancel_port_forward">cancel_port_forward()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#cancel_port_forward_request">cancel_port_forward_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#canonicalize">canonicalize()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html">Channel</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html">channel</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_HANDLE">CMD_HANDLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ChannelException-class.html">ChannelException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel.ChannelStderrFile-class.html">ChannelStderrFile</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html#chattr">chattr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPHandle-class.html">SFTPHandle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_SETSTAT">CMD_SETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#chattr">chattr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#chdir">chdir()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#check">check()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_INIT">CMD_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#check">check()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_auth_interactive">check_auth_interactive()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_auth_interactive_response">check_auth_interactive_response()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_auth_none">check_auth_none()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_STAT">CMD_STAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_auth_password">check_auth_password()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_auth_publickey">check_auth_publickey()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_direct_tcpip_request">check_channel_direct_tcpip_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_LSTAT">CMD_LSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_exec_request">check_channel_exec_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_pty_request">check_channel_pty_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_request">check_channel_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_shell_request">check_channel_shell_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_STATUS">CMD_STATUS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_subsystem_request">check_channel_subsystem_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_window_change_request">check_channel_window_change_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_channel_x11_request">check_channel_x11_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_MKDIR">CMD_MKDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_global_request">check_global_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#check_port_forward_request">check_port_forward_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#chmod">chmod()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#chmod">chmod()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_SYMLINK">CMD_SYMLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#chown">chown()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#chown">chown()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#ciphers">ciphers</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_NAME">CMD_NAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#clear">clear()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.OrPipe-class.html#clear">clear()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.OrPipe-class.html">OrPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html#clear">clear()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html#clear">clear()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_VERSION">CMD_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html">client</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Agent-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Agent-class.html">Agent</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_NAMES">CMD_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPHandle-class.html">SFTPHandle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_WRITE">CMD_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html">common</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.compress-module.html">compress</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_OPEN">CMD_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#compression">compression</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#compute_hmac">compute_hmac()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.config-module.html">config</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant.PageantConnection-class.html#close">close()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant.PageantConnection-class.html">PageantConnection</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#connect">connect()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#connect">connect()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_OPENDIR">CMD_OPENDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_ATTRS">CMD_ATTRS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_READ">CMD_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_CLOSE">CMD_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_READDIR">CMD_READDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_DATA">CMD_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#CONNECTION_FAILED_CODE">CONNECTION_FAILED_CODE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServer-class.html#convert_errno">convert_errno()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServer-class.html">SFTPServer</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util.Counter-class.html">Counter</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_READLINK">CMD_READLINK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_EXTENDED">CMD_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_REALPATH">CMD_REALPATH</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_EXTENDED_REPLY">CMD_EXTENDED_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_REMOVE">CMD_REMOVE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_FSETSTAT">CMD_FSETSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#CMD_RENAME">CMD_RENAME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#CRITICAL">CRITICAL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#CMD_FSTAT">CMD_FSTAT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#CMD_RMDIR">CMD_RMDIR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#DEBUG">DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#decode">decode()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#decode_next">decode_next()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#decode_sequence">decode_sequence()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#deflate_long">deflate_long()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html#delete">delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#digests">digests</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE">DISCONNECT_SERVICE_NOT_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html">DSSKey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER">DISCONNECT_AUTH_CANCELLED_BY_USER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html">dsskey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#empty">empty()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#encode">encode()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#encode_sequence">encode_sequence()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#encode_tlv">encode_tlv()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util.enumerate-class.html">enumerate</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#exec_command">exec_command()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#exec_command">exec_command()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#ERROR">ERROR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#exit_status_ready">exit_status_ready()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#feed">feed()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_BINARY">FLAG_BINARY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#format_binary">format_binary()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.file-module.html">file</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_BUFFERED">FLAG_BUFFERED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#format_binary_line">format_binary_line()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#file">file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#FLAG_EXTENDED">FLAG_EXTENDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#format_binary_weird">format_binary_weird()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#fileno">fileno()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED">FLAG_LINE_BUFFERED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22.Formatter-class.html">Formatter</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html#fileno">fileno()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#FLAG_PERMISSIONS">FLAG_PERMISSIONS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys.HostKeyEntry-class.html#from_line">from_line()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys.HostKeyEntry-class.html">HostKeyEntry</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html#fileno">fileno()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_READ">FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#from_private_key">from_private_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util.PFilter-class.html#filter">filter()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util.PFilter-class.html">PFilter</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#FLAG_SIZE">FLAG_SIZE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#from_private_key_file">from_private_key_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServer-class.html#finish_subsystem">finish_subsystem()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServer-class.html">SFTPServer</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#FLAG_UIDGID">FLAG_UIDGID</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#from_stat">from_stat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SubsystemHandler-class.html#finish_subsystem">finish_subsystem()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE">FLAG_UNIVERSAL_NEWLINE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#from_transport">from_transport()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#FLAG_AMTIME">FLAG_AMTIME</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_WRITE">FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#FLAG_APPEND">FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#flush">flush()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#G">G</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#get_host_keys">get_host_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_security_options">get_security_options()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#generate">generate()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#get_id">get_id()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SubsystemHandler-class.html#get_server">get_server()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#generate">generate()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_int">get_int()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_server_key">get_server_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#generate_key_bytes">generate_key_bytes()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_int64">get_int64()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_so_far">get_so_far()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#get">get()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Agent-class.html#get_keys">get_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Agent-class.html">Agent</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_string">get_string()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html#get">get()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_list">get_list()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#get_thread_id">get_thread_id()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html#get_allowed_auths">get_allowed_auths()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ServerInterface-class.html">ServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_log_channel">get_log_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#get_transport">get_transport()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#get_base64">get_base64()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#get_logger">get_logger()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#get_transport">get_transport()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#get_bits">get_bits()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.primes.ModulusPack-class.html#get_modulus">get_modulus()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.primes.ModulusPack-class.html">ModulusPack</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_username">get_username()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#get_bits">get_bits()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_mpint">get_mpint()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#getcwd">getcwd()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#get_bits">get_bits()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.AgentKey-class.html#get_name">get_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.AgentKey-class.html">AgentKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#getLogger">getLogger()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_boolean">get_boolean()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#get_name">get_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#getpeername">getpeername()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_byte">get_byte()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#get_name">get_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#getpeername">getpeername()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_bytes">get_bytes()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#get_name">get_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#gettimeout">gettimeout()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#get_channel">get_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#get_name">get_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#gettimeout">gettimeout()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_exception">get_exception()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#get_pty">get_pty()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#global_request">global_request()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#get_fingerprint">get_fingerprint()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#get_remainder">get_remainder()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#got_r_hmac">got_r_hmac</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_hexdump">get_hexdump()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#get_remote_server_key">get_remote_server_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#hash_host">hash_host()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys.HostKeyEntry-class.html">HostKeyEntry</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html">hostkeys</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#hexify">hexify()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html">HostKeys</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#inflate_long">inflate_long()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#invoke_shell">invoke_shell()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#invoke_shell">invoke_shell()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#invoke_subsystem">invoke_subsystem()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#is_active">is_active()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#is_authenticated">is_authenticated()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#INFO">INFO</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="K">K</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#kex">kex</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html">KexGex</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#keys">keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html">kex_gex</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1.KexGroup1-class.html">KexGroup1</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html">kex_group1</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#key_types">key_types</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#list_folder">list_folder()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#load_server_moduli">load_server_moduli()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#lookup">lookup()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#listdir">listdir()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#load_system_host_keys">load_system_host_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHConfig-class.html#lookup">lookup()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHConfig-class.html">SSHConfig</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#listdir_attr">listdir_attr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22.logger-class.html#log">log()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.logger-class.html">logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#lookup_ssh_host_config">lookup_ssh_host_config()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#load">load()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#log_to_file">log_to_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#lstat">lstat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#load_host_keys">load_host_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22.logger-class.html">logger</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#lstat">lstat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#load_host_keys">load_host_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html">logging22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe-module.html#make_or_pipe">make_or_pipe()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe-module.html#make_pipe">make_pipe()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#makefile">makefile()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#makefile_stderr">makefile_stderr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#max_bits">max_bits</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#MAX_REQUEST_SIZE">MAX_REQUEST_SIZE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html">Message</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.message-module.html">message</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#min_bits">min_bits</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MIN_PACKET_SIZE">MIN_PACKET_SIZE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.AutoAddPolicy-class.html#missing_host_key">missing_host_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.AutoAddPolicy-class.html">AutoAddPolicy</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.MissingHostKeyPolicy-class.html#missing_host_key">missing_host_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.MissingHostKeyPolicy-class.html">MissingHostKeyPolicy</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RejectPolicy-class.html#missing_host_key">missing_host_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RejectPolicy-class.html">RejectPolicy</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.WarningPolicy-class.html#missing_host_key">missing_host_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.WarningPolicy-class.html">WarningPolicy</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.MissingHostKeyPolicy-class.html">MissingHostKeyPolicy</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#mkdir">mkdir()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#mkdir">mkdir()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#mod_inverse">mod_inverse()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.primes.ModulusPack-class.html">ModulusPack</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.primes-module.html" onclick="show_private();">paramiko.primes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_SERVICE_ACCEPT">MSG_SERVICE_ACCEPT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST">MSG_CHANNEL_WINDOW_ADJUST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_CLOSE">MSG_CHANNEL_CLOSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_SERVICE_REQUEST">MSG_SERVICE_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_DEBUG">MSG_DEBUG</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_DATA">MSG_CHANNEL_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_UNIMPLEMENTED">MSG_UNIMPLEMENTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_DISCONNECT">MSG_DISCONNECT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_EOF">MSG_CHANNEL_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_BANNER">MSG_USERAUTH_BANNER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_GLOBAL_REQUEST">MSG_GLOBAL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA">MSG_CHANNEL_EXTENDED_DATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_FAILURE">MSG_USERAUTH_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_IGNORE">MSG_IGNORE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_FAILURE">MSG_CHANNEL_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_INFO_REQUEST">MSG_USERAUTH_INFO_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_KEXINIT">MSG_KEXINIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_OPEN">MSG_CHANNEL_OPEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_INFO_RESPONSE">MSG_USERAUTH_INFO_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_NAMES">MSG_NAMES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_OPEN_FAILURE">MSG_CHANNEL_OPEN_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_PK_OK">MSG_USERAUTH_PK_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_NEWKEYS">MSG_NEWKEYS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_OPEN_SUCCESS">MSG_CHANNEL_OPEN_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_REQUEST">MSG_USERAUTH_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_REQUEST_FAILURE">MSG_REQUEST_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_CHANNEL_REQUEST">MSG_CHANNEL_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#MSG_USERAUTH_SUCCESS">MSG_USERAUTH_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#MSG_CHANNEL_SUCCESS">MSG_CHANNEL_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#MSG_REQUEST_SUCCESS">MSG_REQUEST_SUCCESS</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#name">name</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet.NeedRekeyException-class.html">NeedRekeyException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#next">next()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1.KexGroup1-class.html#name">name</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1.KexGroup1-class.html">KexGroup1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util.Counter-class.html#new">new()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util.Counter-class.html">Counter</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#normalize">normalize()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#open">open()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#open_channel">open_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#open_forwarded_tcpip_channel">open_forwarded_tcpip_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#open_session">open_session()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#open_sftp">open_sftp()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#open_sftp_client">open_sftp_client()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#OPEN_FAILED_RESOURCE_SHORTAGE">OPEN_FAILED_RESOURCE_SHORTAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#OPEN_SUCCEEDED">OPEN_SUCCEEDED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#open_x11_channel">open_x11_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pipe.OrPipe-class.html">OrPipe</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#OPEN_FAILED_CONNECT_FAILED">OPEN_FAILED_CONNECT_FAILED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#P">P</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html">pkey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html">packet</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant.PageantConnection-class.html">PageantConnection</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#preferred_bits">preferred_bits</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko-module.html">paramiko</a></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#prefetch">prefetch()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHConfig-class.html#parse">parse()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHConfig-class.html">SSHConfig</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.primes-module.html">primes</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#parse_next">parse_next()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#put">put()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1.KexGroup1-class.html#parse_next">parse_next()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1.KexGroup1-class.html">KexGroup1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html#put">put()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#parse_ssh_config">parse_ssh_config()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ssh_exception.PartialAuthentication-class.html">PartialAuthentication</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ssh_exception-module.html" onclick="show_private();">paramiko.ssh_exception</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PasswordRequiredException-class.html">PasswordRequiredException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util.PFilter-class.html">PFilter</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe-module.html">pipe</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.PipeTimeout-class.html">PipeTimeout</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe-module.html" onclick="show_private();">paramiko.buffered_pipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html">PKey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#PY22">PY22</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#read">read()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#rename">rename()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html#read">read()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPHandle-class.html">SFTPHandle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#rename">rename()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#read">read()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#renegotiate_keys">renegotiate_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.primes.ModulusPack-class.html#read_file">read_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.primes.ModulusPack-class.html">ModulusPack</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#request_port_forward">request_port_forward()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#read_ready">read_ready()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#request_x11">request_x11()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#readline">readline()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#resize_pty">resize_pty()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#readlines">readlines()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.resource-module.html">resource</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#readlink">readlink()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.resource-module.html#ResourceManager">ResourceManager</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.resource-module.html" onclick="show_private();">paramiko.resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#readlink">readlink()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#rewind">rewind()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#readv">readv()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#rmdir">rmdir()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#recv">recv()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#rmdir">rmdir()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant.PageantConnection-class.html#recv">recv()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant.PageantConnection-class.html">PageantConnection</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#recv_exit_status">recv_exit_status()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#recv_ready">recv_ready()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#recv_stderr">recv_stderr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html">RSAKey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#recv_stderr_ready">recv_stderr_ready()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html">rsakey</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RejectPolicy-class.html">RejectPolicy</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#run">run()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#remove">remove()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#rng">rng</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#safe_string">safe_string()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#save">save()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#save_host_keys">save_host_keys()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html">SecurityOptions</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#seek">seek()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#seek">seek()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#SEEK_CUR">SEEK_CUR</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#SEEK_END">SEEK_END</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_EOF">SFTP_EOF</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#SEEK_SET">SEEK_SET</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#send">send()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant.PageantConnection-class.html#send">send()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant.PageantConnection-class.html">PageantConnection</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#send_exit_status">send_exit_status()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#send_ignore">send_ignore()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_OK">SFTP_OK</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#send_ready">send_ready()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#send_stderr">send_stderr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FAILURE">SFTP_FAILURE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#sendall">sendall()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html">sftp_file</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#sendall_stderr">sendall_stderr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html">server</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ServerInterface-class.html">ServerInterface</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#session_ended">session_ended()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED">SFTP_OP_UNSUPPORTED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#session_started">session_started()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.OrPipe-class.html#set">set()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.OrPipe-class.html">OrPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html#set">set()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FLAG_APPEND">SFTP_FLAG_APPEND</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html#set">set()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#set_combine_stderr">set_combine_stderr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#set_event">set_event()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServer-class.html#set_file_attr">set_file_attr()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServer-class.html">SFTPServer</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_PERMISSION_DENIED">SFTP_PERMISSION_DENIED</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html#set_forever">set_forever()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html">sftp_server</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html#set_forever">set_forever()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html">sftp_si</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#set_hexdump">set_hexdump()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FLAG_CREATE">SFTP_FLAG_CREATE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#set_keepalive">set_keepalive()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html">SFTPClient</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#set_log_channel">set_log_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPError-class.html">SFTPError</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#set_log_channel">set_log_channel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html">SFTPFile</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#set_missing_host_key_policy">set_missing_host_key_policy()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html">SFTPHandle</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#set_name">set_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServer-class.html">SFTPServer</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#set_pipelined">set_pipelined()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#set_subsystem_handler">set_subsystem_handler()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FLAG_EXCL">SFTP_FLAG_EXCL</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#shutdown">shutdown()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#setblocking">setblocking()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#shutdown_read">shutdown_read()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#setblocking">setblocking()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#shutdown_write">shutdown_write()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.StreamHandler-class.html#setFormatter">setFormatter()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.StreamHandler-class.html">StreamHandler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.AgentKey-class.html#sign_ssh_data">sign_ssh_data()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.AgentKey-class.html">AgentKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.logger-class.html#setLevel">setLevel()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.logger-class.html">logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#sign_ssh_data">sign_ssh_data()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#settimeout">settimeout()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#sign_ssh_data">sign_ssh_data()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#settimeout">settimeout()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#sign_ssh_data">sign_ssh_data()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTP-class.html">SFTP</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FLAG_READ">SFTP_FLAG_READ</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.agent-module.html#SSH2_AGENT_IDENTITIES_ANSWER">SSH2_AGENT_IDENTITIES_ANSWER</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html">sftp</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.agent-module.html#SSH2_AGENT_SIGN_RESPONSE">SSH2_AGENT_SIGN_RESPONSE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html">sftp_attr</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.agent-module.html#SSH2_AGENTC_REQUEST_IDENTITIES">SSH2_AGENTC_REQUEST_IDENTITIES</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.agent-module.html#SSH2_AGENTC_SIGN_REQUEST">SSH2_AGENTC_SIGN_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ssh_exception-module.html">ssh_exception</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#SSH_PORT">SSH_PORT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html">SSHClient</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FLAG_TRUNC">SFTP_FLAG_TRUNC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHConfig-class.html">SSHConfig</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SSHException-class.html">SSHException</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_BAD_MESSAGE">SFTP_BAD_MESSAGE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#start_client">start_client()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html">sftp_client</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#start_kex">start_kex()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1.KexGroup1-class.html#start_kex">start_kex()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1.KexGroup1-class.html">KexGroup1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#start_server">start_server()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServer-class.html#start_subsystem">start_subsystem()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServer-class.html">SFTPServer</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_FLAG_WRITE">SFTP_FLAG_WRITE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SubsystemHandler-class.html#start_subsystem">start_subsystem()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html">sftp_handle</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#stat">stat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#stat">stat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_CONNECTION_LOST">SFTP_CONNECTION_LOST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html#stat">stat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPHandle-class.html">SFTPHandle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#stat">stat()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#stop_thread">stop_thread()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22.StreamHandler-class.html">StreamHandler</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#SFTP_NO_CONNECTION">SFTP_NO_CONNECTION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#symlink">symlink()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#SFTP_DESC">SFTP_DESC</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#SFTP_NO_SUCH_FILE">SFTP_NO_SUCH_FILE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#symlink">symlink()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#tb_strings">tb_strings()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html">Transport</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#truncate">truncate()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#tell">tell()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html">transport</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys.HostKeyEntry-class.html#to_line">to_line()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys.HostKeyEntry-class.html">HostKeyEntry</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#truncate">truncate()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#unhexify">unhexify()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#use_compression">use_compression()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#utime">utime()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#unlink">unlink()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html">util</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#utime">utime()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#values">values()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#verify_ssh_sig">verify_ssh_sig()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#verify_ssh_sig">verify_ssh_sig()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html#values">values()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#verify_ssh_sig">verify_ssh_sig()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html">win_pageant</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#write">write()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html#write">write()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPHandle-class.html">SFTPHandle</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#write_private_key">write_private_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#write_private_key">write_private_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#write_private_key">write_private_key()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#write_private_key_file">write_private_key_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#write_private_key_file">write_private_key_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#write_private_key_file">write_private_key_file()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.WarningPolicy-class.html">WarningPolicy</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#writelines">writelines()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#WARNING">WARNING</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#win32con_WM_COPYDATA">win32con_WM_COPYDATA</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="X">X</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#xreadlines">xreadlines()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="Z">Z</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.compress.ZlibCompressor-class.html">ZlibCompressor</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress-module.html" onclick="show_private();">paramiko.compress</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.compress.ZlibDecompressor-class.html">ZlibDecompressor</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress-module.html" onclick="show_private();">paramiko.compress</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="paramiko-module.html#__author__">__author__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant.PageantConnection-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant.PageantConnection-class.html">PageantConnection</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.compress.ZlibCompressor-class.html#__call__">__call__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress.ZlibCompressor-class.html">ZlibCompressor</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#__iter__">__iter__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.compress.ZlibDecompressor-class.html#__call__">__call__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress.ZlibDecompressor-class.html">ZlibDecompressor</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util.enumerate-class.html#__iter__">__iter__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util.enumerate-class.html">enumerate</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util.Counter-class.html#__call__">__call__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util.Counter-class.html">Counter</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#__len__">__len__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#__cmp__">__cmp__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html#__len__">__len__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko-module.html#__version__">__version__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#__del__">__del__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko-module.html#__license__">__license__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko-module.html#__version_info__">__version_info__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#__del__">__del__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko-module.html">paramiko</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#_active_threads">_active_threads</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#__del__">__del__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.agent-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#_AGENT_COPYDATA_ID">_AGENT_COPYDATA_ID</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#__getitem__">__getitem__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.auth_handler-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#_AGENT_MAX_MSGLEN">_AGENT_MAX_MSGLEN</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#__hash__">__hash__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ber-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber-module.html" onclick="show_private();">paramiko.ber</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_channel_handler_table">_channel_handler_table</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#__hash__">__hash__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe-module.html" onclick="show_private();">paramiko.buffered_pipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_cipher_info">_cipher_info</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Agent-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Agent-class.html">Agent</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.channel-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#_CIPHER_TABLE">_CIPHER_TABLE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.AgentKey-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.AgentKey-class.html">AgentKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.client-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_CLIENT_ID">_CLIENT_ID</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BadAuthenticationType-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.common-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_compression_info">_compression_info</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BadHostKeyException-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BadHostKeyException-class.html">BadHostKeyException</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.compress-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress-module.html" onclick="show_private();">paramiko.compress</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#_DEFAULT_BUFSIZE">_DEFAULT_BUFSIZE</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.BufferedFile-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BufferedFile-class.html">BufferedFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.config-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.config-module.html" onclick="show_private();">paramiko.config</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#_g_thread_counter">_g_thread_counter</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.dsskey-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#_g_thread_ids">_g_thread_ids</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ChannelException-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ChannelException-class.html">ChannelException</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.file-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.file-module.html" onclick="show_private();">paramiko.file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#_g_thread_lock">_g_thread_lock</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_get_ciphers">_get_ciphers()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_get_compression">_get_compression()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_get_digests">_get_digests()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.PKey-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.PKey-class.html">PKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_get_kex">_get_kex()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.RSAKey-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.RSAKey-class.html">RSAKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.message-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.message-module.html" onclick="show_private();">paramiko.message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_get_key_types">_get_key_types()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.packet-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_handler_table">_handler_table</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPClient-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPClient-class.html">SFTPClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pipe-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#_has_ctypes">_has_ctypes</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPFile-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPFile-class.html">SFTPFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.pkey-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#_has_win32all">_has_win32all</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPHandle-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPHandle-class.html">SFTPHandle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.primes-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.primes-module.html" onclick="show_private();">paramiko.primes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#_hash_class">_hash_class</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServer-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServer-class.html">SFTPServer</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.resource-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.resource-module.html" onclick="show_private();">paramiko.resource</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_kex_info">_kex_info</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SFTPServerInterface-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPServerInterface-class.html">SFTPServerInterface</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.rsakey-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_key_info">_key_info</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHClient-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHClient-class.html">SSHClient</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.server-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.logging22-module.html#_logger">_logger</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22-module.html">paramiko.logging22</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SSHConfig-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SSHConfig-class.html">SSHConfig</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_mac_info">_mac_info</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_attr-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_modulus_pack">_modulus_pack</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.SubsystemHandler-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_client-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_GROUP">_MSG_KEXDH_GEX_GROUP</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_file-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_INIT">_MSG_KEXDH_GEX_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_handle-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REPLY">_MSG_KEXDH_GEX_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_server-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REQUEST">_MSG_KEXDH_GEX_REQUEST</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.channel.ChannelStderrFile-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.channel.ChannelStderrFile-class.html">ChannelStderrFile</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp_si-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REQUEST_OLD">_MSG_KEXDH_GEX_REQUEST_OLD</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.compress.ZlibCompressor-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress.ZlibCompressor-class.html">ZlibCompressor</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ssh_exception-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ssh_exception-module.html" onclick="show_private();">paramiko.ssh_exception</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#_MSG_KEXDH_INIT">_MSG_KEXDH_INIT</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.compress.ZlibDecompressor-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.compress.ZlibDecompressor-class.html">ZlibDecompressor</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.transport-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1-module.html#_MSG_KEXDH_REPLY">_MSG_KEXDH_REPLY</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys.HostKeyEntry-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys.HostKeyEntry-class.html">HostKeyEntry</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.util-module.html#_pfilter">_pfilter</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util-module.html">paramiko.util</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_gex.KexGex-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_gex.KexGex-class.html">KexGex</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.win_pageant-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_preferred_ciphers">_preferred_ciphers</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.kex_group1.KexGroup1-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.kex_group1.KexGroup1-class.html">KexGroup1</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Channel-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Channel-class.html">Channel</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_preferred_compression">_preferred_compression</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.Formatter-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.Formatter-class.html">Formatter</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_preferred_kex">_preferred_kex</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.StreamHandler-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.StreamHandler-class.html">StreamHandler</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SFTPAttributes-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SFTPAttributes-class.html">SFTPAttributes</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_preferred_keys">_preferred_keys</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.logging22.logger-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.logging22.logger-class.html">logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_preferred_macs">_preferred_macs</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.OrPipe-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.OrPipe-class.html">OrPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Transport-class.html#_PROTO_ID">_PROTO_ID</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Transport-class.html">Transport</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.PosixPipe-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.ber.BER-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ber.BER-class.html">BER</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_set_ciphers">_set_ciphers()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.pipe.WindowsPipe-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.hostkeys.HostKeyEntry-class.html#__repr__">__repr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.hostkeys.HostKeyEntry-class.html">HostKeyEntry</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_set_compression">_set_compression()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.primes.ModulusPack-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.primes.ModulusPack-class.html">ModulusPack</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.HostKeys-class.html#__setitem__">__setitem__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.HostKeys-class.html">HostKeys</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_set_digests">_set_digests()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.ssh_exception.PartialAuthentication-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.ssh_exception.PartialAuthentication-class.html">PartialAuthentication</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.AgentKey-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.AgentKey-class.html">AgentKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_set_kex">_set_kex()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.transport.ChannelMap-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.transport.ChannelMap-class.html">ChannelMap</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.BadAuthenticationType-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.SecurityOptions-class.html#_set_key_types">_set_key_types()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.SecurityOptions-class.html">SecurityOptions</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util.Counter-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util.Counter-class.html">Counter</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.DSSKey-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.DSSKey-class.html">DSSKey</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.sftp-module.html#_VERSION">_VERSION</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="paramiko.util.enumerate-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.util.enumerate-class.html">enumerate</a>)</span></td>
-<td width="33%" class="link-index"><a href="paramiko.Message-class.html#__str__">__str__()</a><br />
-<span class="index-where">(in&nbsp;<a href="paramiko.Message-class.html">Message</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
-</table>
-</td></tr>
-</table>
-<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:01 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index d1e8877..0000000
--- a/docs/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
- "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
- <frameset rows="30%,70%">
- <frame src="toc.html" name="moduleListFrame"
- id="moduleListFrame" />
- <frame src="toc-everything.html" name="moduleFrame"
- id="moduleFrame" />
- </frameset>
- <frame src="paramiko-module.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/docs/module-tree.html b/docs/module-tree.html
deleted file mode 100644
index 3e08e6a..0000000
--- a/docs/module-tree.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Module Hierarchy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">&nbsp;</td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="module-tree.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<center><b>
- [ <a href="module-tree.html">Module Hierarchy</a>
- | <a href="class-tree.html">Class Hierarchy</a> ]
-</b></center><br />
-<h1 class="epydoc">Module Hierarchy</h1>
-<ul class="nomargin-top">
- <li> <strong class="uidlink"><a href="paramiko-module.html">paramiko</a></strong>: <em class="summary"><i>Paramiko</i> (a combination of the esperanto words for
- &quot;paranoid&quot; and &quot;friend&quot;) is a module for python
- 2.3 or greater that implements the SSH2 protocol for secure
- (encrypted and authenticated) connections to remote machines.</em>
- <ul>
- <li class="private"> <strong class="uidlink"><a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a></strong>: <em class="summary">SSH Agent interface for Unix clients.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a></strong>: <em class="summary">AuthHandler</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.ber-module.html" onclick="show_private();">paramiko.ber</a></strong> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.buffered_pipe-module.html" onclick="show_private();">paramiko.buffered_pipe</a></strong>: <em class="summary">Attempt to generalize the &quot;feeder&quot; part of a Channel: an
- object which can be read from and closed, but is reading from a
- buffer fed by another thread.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a></strong>: <em class="summary">Abstraction for an SSH2 channel.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a></strong>: <em class="summary"><a href="paramiko.SSHClient-class.html" class="link">SSHClient</a>.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a></strong>: <em class="summary">Common constants and global variables.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.compress-module.html" onclick="show_private();">paramiko.compress</a></strong>: <em class="summary">Compression implementations for a Transport.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.config-module.html" onclick="show_private();">paramiko.config</a></strong>: <em class="summary"><a href="paramiko.SSHConfig-class.html" class="link">SSHConfig</a>.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a></strong>: <em class="summary"><a href="paramiko.DSSKey-class.html" class="link">DSSKey</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.file-module.html" onclick="show_private();">paramiko.file</a></strong>: <em class="summary">BufferedFile.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a></strong>: <em class="summary"><a href="paramiko.HostKeys-class.html" class="link">HostKeys</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a></strong>: <em class="summary">Variant on <a href="paramiko.kex_group1.KexGroup1-class.html"
- class="link">KexGroup1</a> where the prime &quot;p&quot; and
- generator &quot;g&quot; are provided by the server.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a></strong>: <em class="summary">Standard SSH key exchange (&quot;kex&quot; if you wanna sound
- cool).</em> </li>
- <li> <strong class="uidlink"><a href="paramiko.logging22-module.html">paramiko.logging22</a></strong>: <em class="summary">Stub out logging on python &lt; 2.3.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.message-module.html" onclick="show_private();">paramiko.message</a></strong>: <em class="summary">Implementation of an SSH2 &quot;message&quot;.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a></strong>: <em class="summary">Packetizer.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a></strong>: <em class="summary">Abstraction of a one-way pipe where the read end can be used in
- select().</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a></strong>: <em class="summary">Common API for all public keys.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.primes-module.html" onclick="show_private();">paramiko.primes</a></strong>: <em class="summary">Utility functions for dealing with primes.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.resource-module.html" onclick="show_private();">paramiko.resource</a></strong>: <em class="summary">Resource manager.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a></strong>: <em class="summary"><a href="paramiko.RSAKey-class.html" class="link">RSAKey</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a></strong>: <em class="summary"><a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a> is an interface to override for
- server support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a></strong> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a></strong> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a></strong>: <em class="summary">Client-mode SFTP support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a></strong>: <em class="summary"><a href="paramiko.SFTPFile-class.html" class="link">SFTPFile</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a></strong>: <em class="summary">Abstraction of an SFTP file handle (for server mode).</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a></strong>: <em class="summary">Server-mode SFTP support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a></strong>: <em class="summary"><a href="paramiko.SFTPServerInterface-class.html"
- class="link">SFTPServerInterface</a> is an interface to override
- for SFTP server support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.ssh_exception-module.html" onclick="show_private();">paramiko.ssh_exception</a></strong>: <em class="summary">Exceptions defined by paramiko.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a></strong>: <em class="summary"><a href="paramiko.Transport-class.html" class="link">Transport</a>
- handles the core SSH2 protocol.</em> </li>
- <li> <strong class="uidlink"><a href="paramiko.util-module.html">paramiko.util</a></strong>: <em class="summary">Useful functions used by the rest of paramiko.</em> </li>
- <li> <strong class="uidlink"><a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a></strong>: <em class="summary">Functions for communicating with Pageant, the basic windows ssh
- agent program.</em> </li>
- </ul>
- </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:01 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko-module.html b/docs/paramiko-module.html
deleted file mode 100644
index 33e51b0..0000000
--- a/docs/paramiko-module.html
+++ /dev/null
@@ -1,513 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- Package&nbsp;paramiko
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package paramiko</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html">source&nbsp;code</a></span></p>
-<p><i>Paramiko</i> (a combination of the esperanto words for
- &quot;paranoid&quot; and &quot;friend&quot;) is a module for python 2.3
- or greater that implements the SSH2 protocol for secure (encrypted and
- authenticated) connections to remote machines. Unlike SSL (aka TLS), the
- SSH2 protocol does not require hierarchical certificates signed by a
- powerful central authority. You may know SSH2 as the protocol that
- replaced <code>telnet</code> and <code>rsh</code> for secure access to
- remote shells, but the protocol also includes the ability to open
- arbitrary channels to remote services across an encrypted tunnel. (This
- is how <code>sftp</code> works, for example.)</p>
- <p>The high-level client API starts with creation of an <a
- href="paramiko.SSHClient-class.html" class="link">SSHClient</a> object.
- For more direct control, pass a socket (or socket-like object) to a <a
- href="paramiko.Transport-class.html" class="link">Transport</a>, and use
- <a href="paramiko.Transport-class.html#start_server"
- class="link">start_server</a> or <a
- href="paramiko.Transport-class.html#start_client"
- class="link">start_client</a> to negoatite with the remote host as either
- a server or client. As a client, you are responsible for authenticating
- using a password or private key, and checking the server's host key.
- <i>(Key signature and verification is done by paramiko, but you will need
- to provide private keys and check that the content of a public key
- matches what you expected to see.)</i> As a server, you are responsible
- for deciding which users, passwords, and keys to allow, and what kind of
- channels to allow.</p>
- <p>Once you have finished, either side may request flow-controlled <a
- href="paramiko.Channel-class.html" class="link">Channel</a>s to the other
- side, which are python objects that act like sockets, but send and
- receive data over the encrypted session.</p>
- <p>Paramiko is written entirely in python (no C or platform-dependent
- code) and is released under the GNU Lesser General Public License
- (LGPL).</p>
- <p>Website: <a href="http://www.lag.net/paramiko/"
- target="_top">http://www.lag.net/paramiko/</a></p>
-
-<hr />
-<div class="fields"> <p><strong>Version:</strong>
- 1.7.7.1 (George)
- </p>
- <p><strong>Author:</strong>
- Robey Pointer
- </p>
- <p><strong>Contact:</strong>
- robeypointer@gmail.com
- </p>
- <p><strong>License:</strong>
- GNU Lesser General Public License (LGPL)
- </p>
- <p><strong>Date:</strong>
- 21 May 2011
- </p>
-</div><!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Submodules</span></td>
-</tr>
- <tr><td class="summary">
- <ul class="nomargin">
- <li class="private"> <strong class="uidlink"><a href="paramiko.agent-module.html" onclick="show_private();">paramiko.agent</a></strong>: <em class="summary">SSH Agent interface for Unix clients.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.auth_handler-module.html" onclick="show_private();">paramiko.auth_handler</a></strong>: <em class="summary">AuthHandler</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.ber-module.html" onclick="show_private();">paramiko.ber</a></strong> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.buffered_pipe-module.html" onclick="show_private();">paramiko.buffered_pipe</a></strong>: <em class="summary">Attempt to generalize the &quot;feeder&quot; part of a Channel: an
- object which can be read from and closed, but is reading from a
- buffer fed by another thread.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.channel-module.html" onclick="show_private();">paramiko.channel</a></strong>: <em class="summary">Abstraction for an SSH2 channel.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.client-module.html" onclick="show_private();">paramiko.client</a></strong>: <em class="summary"><a href="paramiko.SSHClient-class.html" class="link">SSHClient</a>.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.common-module.html" onclick="show_private();">paramiko.common</a></strong>: <em class="summary">Common constants and global variables.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.compress-module.html" onclick="show_private();">paramiko.compress</a></strong>: <em class="summary">Compression implementations for a Transport.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.config-module.html" onclick="show_private();">paramiko.config</a></strong>: <em class="summary"><a href="paramiko.SSHConfig-class.html" class="link">SSHConfig</a>.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.dsskey-module.html" onclick="show_private();">paramiko.dsskey</a></strong>: <em class="summary"><a href="paramiko.DSSKey-class.html" class="link">DSSKey</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.file-module.html" onclick="show_private();">paramiko.file</a></strong>: <em class="summary">BufferedFile.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.hostkeys-module.html" onclick="show_private();">paramiko.hostkeys</a></strong>: <em class="summary"><a href="paramiko.HostKeys-class.html" class="link">HostKeys</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.kex_gex-module.html" onclick="show_private();">paramiko.kex_gex</a></strong>: <em class="summary">Variant on <a href="paramiko.kex_group1.KexGroup1-class.html"
- class="link">KexGroup1</a> where the prime &quot;p&quot; and
- generator &quot;g&quot; are provided by the server.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.kex_group1-module.html" onclick="show_private();">paramiko.kex_group1</a></strong>: <em class="summary">Standard SSH key exchange (&quot;kex&quot; if you wanna sound
- cool).</em> </li>
- <li> <strong class="uidlink"><a href="paramiko.logging22-module.html">paramiko.logging22</a></strong>: <em class="summary">Stub out logging on python &lt; 2.3.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.message-module.html" onclick="show_private();">paramiko.message</a></strong>: <em class="summary">Implementation of an SSH2 &quot;message&quot;.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.packet-module.html" onclick="show_private();">paramiko.packet</a></strong>: <em class="summary">Packetizer.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.pipe-module.html" onclick="show_private();">paramiko.pipe</a></strong>: <em class="summary">Abstraction of a one-way pipe where the read end can be used in
- select().</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.pkey-module.html" onclick="show_private();">paramiko.pkey</a></strong>: <em class="summary">Common API for all public keys.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.primes-module.html" onclick="show_private();">paramiko.primes</a></strong>: <em class="summary">Utility functions for dealing with primes.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.resource-module.html" onclick="show_private();">paramiko.resource</a></strong>: <em class="summary">Resource manager.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.rsakey-module.html" onclick="show_private();">paramiko.rsakey</a></strong>: <em class="summary"><a href="paramiko.RSAKey-class.html" class="link">RSAKey</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.server-module.html" onclick="show_private();">paramiko.server</a></strong>: <em class="summary"><a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a> is an interface to override for
- server support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp-module.html" onclick="show_private();">paramiko.sftp</a></strong> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_attr-module.html" onclick="show_private();">paramiko.sftp_attr</a></strong> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_client-module.html" onclick="show_private();">paramiko.sftp_client</a></strong>: <em class="summary">Client-mode SFTP support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_file-module.html" onclick="show_private();">paramiko.sftp_file</a></strong>: <em class="summary"><a href="paramiko.SFTPFile-class.html" class="link">SFTPFile</a></em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_handle-module.html" onclick="show_private();">paramiko.sftp_handle</a></strong>: <em class="summary">Abstraction of an SFTP file handle (for server mode).</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_server-module.html" onclick="show_private();">paramiko.sftp_server</a></strong>: <em class="summary">Server-mode SFTP support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.sftp_si-module.html" onclick="show_private();">paramiko.sftp_si</a></strong>: <em class="summary"><a href="paramiko.SFTPServerInterface-class.html"
- class="link">SFTPServerInterface</a> is an interface to override
- for SFTP server support.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.ssh_exception-module.html" onclick="show_private();">paramiko.ssh_exception</a></strong>: <em class="summary">Exceptions defined by paramiko.</em> </li>
- <li class="private"> <strong class="uidlink"><a href="paramiko.transport-module.html" onclick="show_private();">paramiko.transport</a></strong>: <em class="summary"><a href="paramiko.Transport-class.html" class="link">Transport</a>
- handles the core SSH2 protocol.</em> </li>
- <li> <strong class="uidlink"><a href="paramiko.util-module.html">paramiko.util</a></strong>: <em class="summary">Useful functions used by the rest of paramiko.</em> </li>
- <li> <strong class="uidlink"><a href="paramiko.win_pageant-module.html">paramiko.win_pageant</a></strong>: <em class="summary">Functions for communicating with Pageant, the basic windows ssh
- agent program.</em> </li>
- </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SecurityOptions-class.html" class="summary-name">SecurityOptions</a><br />
- Simple object containing the security preferences of an ssh
- transport.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.Transport-class.html" class="summary-name">Transport</a><br />
- An SSH Transport attaches to a stream (usually a socket),
- negotiates an encrypted session, authenticates, and then creates
- stream tunnels, called <a href="paramiko.Channel-class.html"
- class="link">Channel</a>s, across the session.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SSHClient-class.html" class="summary-name">SSHClient</a><br />
- A high-level representation of a session with an SSH server.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.MissingHostKeyPolicy-class.html" class="summary-name">MissingHostKeyPolicy</a><br />
- Interface for defining the policy that <a
- href="paramiko.SSHClient-class.html" class="link">SSHClient</a>
- should use when the SSH server's hostname is not in either the
- system host keys or the application's keys.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.AutoAddPolicy-class.html" class="summary-name">AutoAddPolicy</a><br />
- Policy for automatically adding the hostname and new host key to
- the local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object, and saving it.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.RejectPolicy-class.html" class="summary-name">RejectPolicy</a><br />
- Policy for automatically rejecting the unknown hostname &amp; key.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.WarningPolicy-class.html" class="summary-name">WarningPolicy</a><br />
- Policy for logging a python-style warning for an unknown host key,
- but accepting it.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.Channel-class.html" class="summary-name">Channel</a><br />
- A secure tunnel across an SSH <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SSHException-class.html" class="summary-name">SSHException</a><br />
- Exception raised by failures in SSH2 protocol negotiation or logic
- errors.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.PasswordRequiredException-class.html" class="summary-name">PasswordRequiredException</a><br />
- Exception raised when a password is needed to unlock a private key
- file.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.BadAuthenticationType-class.html" class="summary-name">BadAuthenticationType</a><br />
- Exception raised when an authentication type (like password) is
- used, but the server isn't allowing that type.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.ChannelException-class.html" class="summary-name">ChannelException</a><br />
- Exception raised when an attempt to open a new <a
- href="paramiko.Channel-class.html" class="link">Channel</a> fails.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.BadHostKeyException-class.html" class="summary-name">BadHostKeyException</a><br />
- The host key given by the SSH server did not match what we were
- expecting.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.AuthenticationException-class.html" class="summary-name">AuthenticationException</a><br />
- Exception raised when authentication failed for some reason.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.ServerInterface-class.html" class="summary-name">ServerInterface</a><br />
- This class defines an interface for controlling the behavior of
- paramiko in server mode.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SubsystemHandler-class.html" class="summary-name">SubsystemHandler</a><br />
- Handler for a subsytem in server mode.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.RSAKey-class.html" class="summary-name">RSAKey</a><br />
- Representation of an RSA key which can be used to sign and verify
- SSH2 data.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.DSSKey-class.html" class="summary-name">DSSKey</a><br />
- Representation of a DSS key which can be used to sign an verify
- SSH2 data.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPError-class.html" class="summary-name">SFTPError</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTP-class.html" class="summary-name">SFTP</a><br />
- an alias for <a href="paramiko.SFTPClient-class.html"
- class="link">SFTPClient</a> for backwards compatability
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPClient-class.html" class="summary-name">SFTPClient</a><br />
- SFTP client object.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPServer-class.html" class="summary-name">SFTPServer</a><br />
- Server-side SFTP subsystem support.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPAttributes-class.html" class="summary-name">SFTPAttributes</a><br />
- Representation of the attributes of a file (or proxied file) for
- SFTP in client or server mode.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPHandle-class.html" class="summary-name">SFTPHandle</a><br />
- Abstract object representing a handle to an open file (or folder)
- in an SFTP server implementation.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPServerInterface-class.html" class="summary-name">SFTPServerInterface</a><br />
- This class defines an interface for controlling the behavior of
- paramiko when using the <a href="paramiko.SFTPServer-class.html"
- class="link">SFTPServer</a> subsystem to provide an SFTP server.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SFTPFile-class.html" class="summary-name">SFTPFile</a><br />
- Proxy object for a file on the remote server, in client mode SFTP.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.Message-class.html" class="summary-name">Message</a><br />
- An SSH2 <i>Message</i> is a stream of bytes that encodes some
- combination of strings, integers, bools, and infinite-precision
- integers (known in python as <i>long</i>s).
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.BufferedFile-class.html" class="summary-name">BufferedFile</a><br />
- Reusable base class to implement python-style file buffering around
- a simpler stream.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.Agent-class.html" class="summary-name">Agent</a><br />
- Client interface for using private keys from an SSH agent running
- on the local machine.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.AgentKey-class.html" class="summary-name">AgentKey</a><br />
- Private key held in a local SSH agent.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.PKey-class.html" class="summary-name">PKey</a><br />
- Base class for public keys.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.HostKeys-class.html" class="summary-name">HostKeys</a><br />
- Representation of an openssh-style &quot;known hosts&quot; file.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SSHConfig-class.html" class="summary-name">SSHConfig</a><br />
- Representation of config information as stored in the format used
- by OpenSSH.
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko-pysrc.html b/docs/paramiko-pysrc.html
deleted file mode 100644
index 607fd59..0000000
--- a/docs/paramiko-pysrc.html
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- Package&nbsp;paramiko
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko-module.html">Package paramiko</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2011 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">I{Paramiko} (a combination of the esperanto words for "paranoid" and "friend")</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">is a module for python 2.3 or greater that implements the SSH2 protocol for</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring">secure (encrypted and authenticated) connections to remote machines. Unlike</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring">SSL (aka TLS), the SSH2 protocol does not require hierarchical certificates</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring">signed by a powerful central authority. You may know SSH2 as the protocol that</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring">replaced C{telnet} and C{rsh} for secure access to remote shells, but the</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring">protocol also includes the ability to open arbitrary channels to remote</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring">services across an encrypted tunnel. (This is how C{sftp} works, for example.)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring">The high-level client API starts with creation of an L{SSHClient} object.</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring">For more direct control, pass a socket (or socket-like object) to a</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring">L{Transport}, and use L{start_server &lt;Transport.start_server&gt;} or</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring">L{start_client &lt;Transport.start_client&gt;} to negoatite</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring">with the remote host as either a server or client. As a client, you are</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring">responsible for authenticating using a password or private key, and checking</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring">the server's host key. I{(Key signature and verification is done by paramiko,</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring">but you will need to provide private keys and check that the content of a</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring">public key matches what you expected to see.)} As a server, you are</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring">responsible for deciding which users, passwords, and keys to allow, and what</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring">kind of channels to allow.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring">Once you have finished, either side may request flow-controlled L{Channel}s to</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring">the other side, which are python objects that act like sockets, but send and</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring">receive data over the encrypted session.</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring">Paramiko is written entirely in python (no C or platform-dependent code) and is</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring">released under the GNU Lesser General Public License (LGPL).</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring">Website: U{http://www.lag.net/paramiko/}</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring">@version: 1.7.7.1 (George)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring">@author: Robey Pointer</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring">@contact: robeypointer@gmail.com</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring">@license: GNU Lesser General Public License (LGPL)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt> <tt class="py-op">&lt;</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">'You need python 2.2 for this module.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable paramiko.__author__=paramiko-module.html#__author__"><a title="paramiko.__author__" class="py-name" href="#" onclick="return doclink('link-0', '__author__', 'link-0');">__author__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"Robey Pointer &lt;robeypointer@gmail.com&gt;"</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-name">__date__</tt> <tt class="py-op">=</tt> <tt class="py-string">"21 May 2011"</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable paramiko.__version__=paramiko-module.html#__version__"><a title="paramiko.__version__" class="py-name" href="#" onclick="return doclink('link-1', '__version__', 'link-1');">__version__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"1.7.7.1 (George)"</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable paramiko.__version_info__=paramiko-module.html#__version_info__"><a title="paramiko.__version_info__" class="py-name" href="#" onclick="return doclink('link-2', '__version_info__', 'link-2');">__version_info__</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable paramiko.__license__=paramiko-module.html#__license__"><a title="paramiko.__license__" class="py-name" href="#" onclick="return doclink('link-3', '__license__', 'link-3');">__license__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"GNU Lesser General Public License (LGPL)"</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-4', 'transport', 'link-4');">transport</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class paramiko.SecurityOptions=paramiko.SecurityOptions-class.html"><a title="paramiko.SecurityOptions" class="py-name" href="#" onclick="return doclink('link-5', 'SecurityOptions', 'link-5');">SecurityOptions</a></tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Transport=paramiko.Transport-class.html"><a title="paramiko.Transport" class="py-name" href="#" onclick="return doclink('link-6', 'Transport', 'link-6');">Transport</a></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module paramiko.client=paramiko.client-module.html"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-7', 'client', 'link-7');">client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class paramiko.SSHClient=paramiko.SSHClient-class.html"><a title="paramiko.SSHClient" class="py-name" href="#" onclick="return doclink('link-8', 'SSHClient', 'link-8');">SSHClient</a></tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Class paramiko.MissingHostKeyPolicy=paramiko.MissingHostKeyPolicy-class.html"><a title="paramiko.MissingHostKeyPolicy" class="py-name" href="#" onclick="return doclink('link-9', 'MissingHostKeyPolicy', 'link-9');">MissingHostKeyPolicy</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Class paramiko.AutoAddPolicy=paramiko.AutoAddPolicy-class.html"><a title="paramiko.AutoAddPolicy" class="py-name" href="#" onclick="return doclink('link-10', 'AutoAddPolicy', 'link-10');">AutoAddPolicy</a></tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Class paramiko.RejectPolicy=paramiko.RejectPolicy-class.html"><a title="paramiko.RejectPolicy" class="py-name" href="#" onclick="return doclink('link-11', 'RejectPolicy', 'link-11');">RejectPolicy</a></tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Class paramiko.WarningPolicy=paramiko.WarningPolicy-class.html"><a title="paramiko.WarningPolicy" class="py-name" href="#" onclick="return doclink('link-12', 'WarningPolicy', 'link-12');">WarningPolicy</a></tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name" targets="Module paramiko.auth_handler=paramiko.auth_handler-module.html"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-13', 'auth_handler', 'link-13');">auth_handler</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">AuthHandler</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-14" class="py-name" targets="Module paramiko.channel=paramiko.channel-module.html"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-14', 'channel', 'link-14');">channel</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class paramiko.Channel=paramiko.Channel-class.html"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-15', 'Channel', 'link-15');">Channel</a></tt><tt class="py-op">,</tt> <tt class="py-name">ChannelFile</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-16', 'ssh_exception', 'link-16');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-17" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-17', 'SSHException', 'link-17');">SSHException</a></tt><tt class="py-op">,</tt> <tt id="link-18" class="py-name" targets="Class paramiko.PasswordRequiredException=paramiko.PasswordRequiredException-class.html"><a title="paramiko.PasswordRequiredException" class="py-name" href="#" onclick="return doclink('link-18', 'PasswordRequiredException', 'link-18');">PasswordRequiredException</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-19" class="py-name" targets="Class paramiko.BadAuthenticationType=paramiko.BadAuthenticationType-class.html"><a title="paramiko.BadAuthenticationType" class="py-name" href="#" onclick="return doclink('link-19', 'BadAuthenticationType', 'link-19');">BadAuthenticationType</a></tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Class paramiko.ChannelException=paramiko.ChannelException-class.html"><a title="paramiko.ChannelException" class="py-name" href="#" onclick="return doclink('link-20', 'ChannelException', 'link-20');">ChannelException</a></tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name" targets="Class paramiko.BadHostKeyException=paramiko.BadHostKeyException-class.html"><a title="paramiko.BadHostKeyException" class="py-name" href="#" onclick="return doclink('link-21', 'BadHostKeyException', 'link-21');">BadHostKeyException</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt id="link-22" class="py-name" targets="Class paramiko.AuthenticationException=paramiko.AuthenticationException-class.html"><a title="paramiko.AuthenticationException" class="py-name" href="#" onclick="return doclink('link-22', 'AuthenticationException', 'link-22');">AuthenticationException</a></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-23" class="py-name" targets="Module paramiko.server=paramiko.server-module.html"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-23', 'server', 'link-23');">server</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class paramiko.ServerInterface=paramiko.ServerInterface-class.html"><a title="paramiko.ServerInterface" class="py-name" href="#" onclick="return doclink('link-24', 'ServerInterface', 'link-24');">ServerInterface</a></tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name" targets="Class paramiko.SubsystemHandler=paramiko.SubsystemHandler-class.html"><a title="paramiko.SubsystemHandler" class="py-name" href="#" onclick="return doclink('link-25', 'SubsystemHandler', 'link-25');">SubsystemHandler</a></tt><tt class="py-op">,</tt> <tt class="py-name">InteractiveQuery</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-26" class="py-name" targets="Module paramiko.rsakey=paramiko.rsakey-module.html"><a title="paramiko.rsakey" class="py-name" href="#" onclick="return doclink('link-26', 'rsakey', 'link-26');">rsakey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-27" class="py-name" targets="Class paramiko.RSAKey=paramiko.RSAKey-class.html"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-27', 'RSAKey', 'link-27');">RSAKey</a></tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name" targets="Module paramiko.dsskey=paramiko.dsskey-module.html"><a title="paramiko.dsskey" class="py-name" href="#" onclick="return doclink('link-28', 'dsskey', 'link-28');">dsskey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-29" class="py-name" targets="Class paramiko.DSSKey=paramiko.DSSKey-class.html"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-29', 'DSSKey', 'link-29');">DSSKey</a></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-30" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-30', 'sftp', 'link-30');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt id="link-31" class="py-name" targets="Class paramiko.SFTPError=paramiko.SFTPError-class.html"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-31', 'SFTPError', 'link-31');">SFTPError</a></tt><tt class="py-op">,</tt> <tt class="py-name">BaseSFTP</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-32" class="py-name" targets="Module paramiko.sftp_client=paramiko.sftp_client-module.html"><a title="paramiko.sftp_client" class="py-name" href="#" onclick="return doclink('link-32', 'sftp_client', 'link-32');">sftp_client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name" targets="Class paramiko.SFTP=paramiko.SFTP-class.html"><a title="paramiko.SFTP" class="py-name" href="#" onclick="return doclink('link-33', 'SFTP', 'link-33');">SFTP</a></tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name" targets="Class paramiko.SFTPClient=paramiko.SFTPClient-class.html"><a title="paramiko.SFTPClient" class="py-name" href="#" onclick="return doclink('link-34', 'SFTPClient', 'link-34');">SFTPClient</a></tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-35" class="py-name" targets="Module paramiko.sftp_server=paramiko.sftp_server-module.html"><a title="paramiko.sftp_server" class="py-name" href="#" onclick="return doclink('link-35', 'sftp_server', 'link-35');">sftp_server</a></tt> <tt class="py-keyword">import</tt> <tt id="link-36" class="py-name" targets="Class paramiko.SFTPServer=paramiko.SFTPServer-class.html"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-36', 'SFTPServer', 'link-36');">SFTPServer</a></tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-37" class="py-name" targets="Module paramiko.sftp_attr=paramiko.sftp_attr-module.html"><a title="paramiko.sftp_attr" class="py-name" href="#" onclick="return doclink('link-37', 'sftp_attr', 'link-37');">sftp_attr</a></tt> <tt class="py-keyword">import</tt> <tt id="link-38" class="py-name" targets="Class paramiko.SFTPAttributes=paramiko.SFTPAttributes-class.html"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-38', 'SFTPAttributes', 'link-38');">SFTPAttributes</a></tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-39" class="py-name" targets="Module paramiko.sftp_handle=paramiko.sftp_handle-module.html"><a title="paramiko.sftp_handle" class="py-name" href="#" onclick="return doclink('link-39', 'sftp_handle', 'link-39');">sftp_handle</a></tt> <tt class="py-keyword">import</tt> <tt id="link-40" class="py-name" targets="Class paramiko.SFTPHandle=paramiko.SFTPHandle-class.html"><a title="paramiko.SFTPHandle" class="py-name" href="#" onclick="return doclink('link-40', 'SFTPHandle', 'link-40');">SFTPHandle</a></tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-41" class="py-name" targets="Module paramiko.sftp_si=paramiko.sftp_si-module.html"><a title="paramiko.sftp_si" class="py-name" href="#" onclick="return doclink('link-41', 'sftp_si', 'link-41');">sftp_si</a></tt> <tt class="py-keyword">import</tt> <tt id="link-42" class="py-name" targets="Class paramiko.SFTPServerInterface=paramiko.SFTPServerInterface-class.html"><a title="paramiko.SFTPServerInterface" class="py-name" href="#" onclick="return doclink('link-42', 'SFTPServerInterface', 'link-42');">SFTPServerInterface</a></tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-43" class="py-name" targets="Module paramiko.sftp_file=paramiko.sftp_file-module.html"><a title="paramiko.sftp_file" class="py-name" href="#" onclick="return doclink('link-43', 'sftp_file', 'link-43');">sftp_file</a></tt> <tt class="py-keyword">import</tt> <tt id="link-44" class="py-name" targets="Class paramiko.SFTPFile=paramiko.SFTPFile-class.html"><a title="paramiko.SFTPFile" class="py-name" href="#" onclick="return doclink('link-44', 'SFTPFile', 'link-44');">SFTPFile</a></tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-45" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-45', 'message', 'link-45');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-46" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-46', 'Message', 'link-46');">Message</a></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-47" class="py-name" targets="Module paramiko.packet=paramiko.packet-module.html"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-47', 'packet', 'link-47');">packet</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">Packetizer</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-48" class="py-name" targets="Method paramiko.SFTPClient.file()=paramiko.SFTPClient-class.html#file,Module paramiko.file=paramiko.file-module.html"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-48', 'file', 'link-48');">file</a></tt> <tt class="py-keyword">import</tt> <tt id="link-49" class="py-name" targets="Class paramiko.BufferedFile=paramiko.BufferedFile-class.html"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-49', 'BufferedFile', 'link-49');">BufferedFile</a></tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-50" class="py-name" targets="Module paramiko.agent=paramiko.agent-module.html"><a title="paramiko.agent" class="py-name" href="#" onclick="return doclink('link-50', 'agent', 'link-50');">agent</a></tt> <tt class="py-keyword">import</tt> <tt id="link-51" class="py-name" targets="Class paramiko.Agent=paramiko.Agent-class.html"><a title="paramiko.Agent" class="py-name" href="#" onclick="return doclink('link-51', 'Agent', 'link-51');">Agent</a></tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name" targets="Class paramiko.AgentKey=paramiko.AgentKey-class.html"><a title="paramiko.AgentKey" class="py-name" href="#" onclick="return doclink('link-52', 'AgentKey', 'link-52');">AgentKey</a></tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-53" class="py-name" targets="Module paramiko.pkey=paramiko.pkey-module.html"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-53', 'pkey', 'link-53');">pkey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-54" class="py-name" targets="Class paramiko.PKey=paramiko.PKey-class.html"><a title="paramiko.PKey" class="py-name" href="#" onclick="return doclink('link-54', 'PKey', 'link-54');">PKey</a></tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-55" class="py-name" targets="Module paramiko.hostkeys=paramiko.hostkeys-module.html"><a title="paramiko.hostkeys" class="py-name" href="#" onclick="return doclink('link-55', 'hostkeys', 'link-55');">hostkeys</a></tt> <tt class="py-keyword">import</tt> <tt id="link-56" class="py-name" targets="Class paramiko.HostKeys=paramiko.HostKeys-class.html"><a title="paramiko.HostKeys" class="py-name" href="#" onclick="return doclink('link-56', 'HostKeys', 'link-56');">HostKeys</a></tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-57" class="py-name" targets="Module paramiko.config=paramiko.config-module.html"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-57', 'config', 'link-57');">config</a></tt> <tt class="py-keyword">import</tt> <tt id="link-58" class="py-name" targets="Class paramiko.SSHConfig=paramiko.SSHConfig-class.html"><a title="paramiko.SSHConfig" class="py-name" href="#" onclick="return doclink('link-58', 'SSHConfig', 'link-58');">SSHConfig</a></tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-comment"># fix module names for epydoc</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method paramiko.HostKeys.values()=paramiko.HostKeys-class.html#values,Method paramiko.transport.ChannelMap.values()=paramiko.transport.ChannelMap-class.html#values"><a title="paramiko.HostKeys.values
-paramiko.transport.ChannelMap.values" class="py-name" href="#" onclick="return doclink('link-59', 'values', 'link-59');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'classobj'</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment"># classobj for exceptions :/</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">__module__</tt> <tt class="py-op">=</tt> <tt class="py-name">__name__</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-keyword">del</tt> <tt class="py-name">c</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-60" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-60', 'common', 'link-60');">common</a></tt> <tt class="py-keyword">import</tt> <tt id="link-61" class="py-name" targets="Variable paramiko.auth_handler.AUTH_SUCCESSFUL=paramiko.auth_handler-module.html#AUTH_SUCCESSFUL,Variable paramiko.channel.AUTH_SUCCESSFUL=paramiko.channel-module.html#AUTH_SUCCESSFUL,Variable paramiko.client.AUTH_SUCCESSFUL=paramiko.client-module.html#AUTH_SUCCESSFUL,Variable paramiko.common.AUTH_SUCCESSFUL=paramiko.common-module.html#AUTH_SUCCESSFUL,Variable paramiko.dsskey.AUTH_SUCCESSFUL=paramiko.dsskey-module.html#AUTH_SUCCESSFUL,Variable paramiko.hostkeys.AUTH_SUCCESSFUL=paramiko.hostkeys-module.html#AUTH_SUCCESSFUL,Variable paramiko.kex_gex.AUTH_SUCCESSFUL=paramiko.kex_gex-module.html#AUTH_SUCCESSFUL,Variable paramiko.kex_group1.AUTH_SUCCESSFUL=paramiko.kex_group1-module.html#AUTH_SUCCESSFUL,Variable paramiko.packet.AUTH_SUCCESSFUL=paramiko.packet-module.html#AUTH_SUCCESSFUL,Variable paramiko.pkey.AUTH_SUCCESSFUL=paramiko.pkey-module.html#AUTH_SUCCESSFUL,Variable paramiko.rsakey.AUTH_SUCCESSFUL=paramiko.rsakey-module.html#AUTH_SUCCESSFUL,Variable paramiko.server.AUTH_SUCCESSFUL=paramiko.server-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp.AUTH_SUCCESSFUL=paramiko.sftp-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_attr.AUTH_SUCCESSFUL=paramiko.sftp_attr-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_client.AUTH_SUCCESSFUL=paramiko.sftp_client-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_file.AUTH_SUCCESSFUL=paramiko.sftp_file-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_handle.AUTH_SUCCESSFUL=paramiko.sftp_handle-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_server.AUTH_SUCCESSFUL=paramiko.sftp_server-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_si.AUTH_SUCCESSFUL=paramiko.sftp_si-module.html#AUTH_SUCCESSFUL,Variable paramiko.transport.AUTH_SUCCESSFUL=paramiko.transport-module.html#AUTH_SUCCESSFUL,Variable paramiko.util.AUTH_SUCCESSFUL=paramiko.util-module.html#AUTH_SUCCESSFUL"><a title="paramiko.auth_handler.AUTH_SUCCESSFUL
-paramiko.channel.AUTH_SUCCESSFUL
-paramiko.client.AUTH_SUCCESSFUL
-paramiko.common.AUTH_SUCCESSFUL
-paramiko.dsskey.AUTH_SUCCESSFUL
-paramiko.hostkeys.AUTH_SUCCESSFUL
-paramiko.kex_gex.AUTH_SUCCESSFUL
-paramiko.kex_group1.AUTH_SUCCESSFUL
-paramiko.packet.AUTH_SUCCESSFUL
-paramiko.pkey.AUTH_SUCCESSFUL
-paramiko.rsakey.AUTH_SUCCESSFUL
-paramiko.server.AUTH_SUCCESSFUL
-paramiko.sftp.AUTH_SUCCESSFUL
-paramiko.sftp_attr.AUTH_SUCCESSFUL
-paramiko.sftp_client.AUTH_SUCCESSFUL
-paramiko.sftp_file.AUTH_SUCCESSFUL
-paramiko.sftp_handle.AUTH_SUCCESSFUL
-paramiko.sftp_server.AUTH_SUCCESSFUL
-paramiko.sftp_si.AUTH_SUCCESSFUL
-paramiko.transport.AUTH_SUCCESSFUL
-paramiko.util.AUTH_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-61', 'AUTH_SUCCESSFUL', 'link-61');">AUTH_SUCCESSFUL</a></tt><tt class="py-op">,</tt> <tt id="link-62" class="py-name" targets="Variable paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL=paramiko.auth_handler-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL=paramiko.channel-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.client.AUTH_PARTIALLY_SUCCESSFUL=paramiko.client-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.common.AUTH_PARTIALLY_SUCCESSFUL=paramiko.common-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.dsskey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL=paramiko.hostkeys-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL=paramiko.kex_gex-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL=paramiko.kex_group1-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL=paramiko.packet-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.pkey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.rsakey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.server.AUTH_PARTIALLY_SUCCESSFUL=paramiko.server-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_attr-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_client-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_file-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_handle-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_server-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_si-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL=paramiko.transport-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.util.AUTH_PARTIALLY_SUCCESSFUL=paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL"><a title="paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.client.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.common.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.server.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.util.AUTH_PARTIALLY_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-62', 'AUTH_PARTIALLY_SUCCESSFUL', 'link-62');">AUTH_PARTIALLY_SUCCESSFUL</a></tt><tt class="py-op">,</tt> <tt id="link-63" class="py-name" targets="Variable paramiko.auth_handler.AUTH_FAILED=paramiko.auth_handler-module.html#AUTH_FAILED,Variable paramiko.channel.AUTH_FAILED=paramiko.channel-module.html#AUTH_FAILED,Variable paramiko.client.AUTH_FAILED=paramiko.client-module.html#AUTH_FAILED,Variable paramiko.common.AUTH_FAILED=paramiko.common-module.html#AUTH_FAILED,Variable paramiko.dsskey.AUTH_FAILED=paramiko.dsskey-module.html#AUTH_FAILED,Variable paramiko.hostkeys.AUTH_FAILED=paramiko.hostkeys-module.html#AUTH_FAILED,Variable paramiko.kex_gex.AUTH_FAILED=paramiko.kex_gex-module.html#AUTH_FAILED,Variable paramiko.kex_group1.AUTH_FAILED=paramiko.kex_group1-module.html#AUTH_FAILED,Variable paramiko.packet.AUTH_FAILED=paramiko.packet-module.html#AUTH_FAILED,Variable paramiko.pkey.AUTH_FAILED=paramiko.pkey-module.html#AUTH_FAILED,Variable paramiko.rsakey.AUTH_FAILED=paramiko.rsakey-module.html#AUTH_FAILED,Variable paramiko.server.AUTH_FAILED=paramiko.server-module.html#AUTH_FAILED,Variable paramiko.sftp.AUTH_FAILED=paramiko.sftp-module.html#AUTH_FAILED,Variable paramiko.sftp_attr.AUTH_FAILED=paramiko.sftp_attr-module.html#AUTH_FAILED,Variable paramiko.sftp_client.AUTH_FAILED=paramiko.sftp_client-module.html#AUTH_FAILED,Variable paramiko.sftp_file.AUTH_FAILED=paramiko.sftp_file-module.html#AUTH_FAILED,Variable paramiko.sftp_handle.AUTH_FAILED=paramiko.sftp_handle-module.html#AUTH_FAILED,Variable paramiko.sftp_server.AUTH_FAILED=paramiko.sftp_server-module.html#AUTH_FAILED,Variable paramiko.sftp_si.AUTH_FAILED=paramiko.sftp_si-module.html#AUTH_FAILED,Variable paramiko.transport.AUTH_FAILED=paramiko.transport-module.html#AUTH_FAILED,Variable paramiko.util.AUTH_FAILED=paramiko.util-module.html#AUTH_FAILED"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-63', 'AUTH_FAILED', 'link-63');">AUTH_FAILED</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt id="link-64" class="py-name" targets="Variable paramiko.auth_handler.OPEN_SUCCEEDED=paramiko.auth_handler-module.html#OPEN_SUCCEEDED,Variable paramiko.channel.OPEN_SUCCEEDED=paramiko.channel-module.html#OPEN_SUCCEEDED,Variable paramiko.client.OPEN_SUCCEEDED=paramiko.client-module.html#OPEN_SUCCEEDED,Variable paramiko.common.OPEN_SUCCEEDED=paramiko.common-module.html#OPEN_SUCCEEDED,Variable paramiko.dsskey.OPEN_SUCCEEDED=paramiko.dsskey-module.html#OPEN_SUCCEEDED,Variable paramiko.hostkeys.OPEN_SUCCEEDED=paramiko.hostkeys-module.html#OPEN_SUCCEEDED,Variable paramiko.kex_gex.OPEN_SUCCEEDED=paramiko.kex_gex-module.html#OPEN_SUCCEEDED,Variable paramiko.kex_group1.OPEN_SUCCEEDED=paramiko.kex_group1-module.html#OPEN_SUCCEEDED,Variable paramiko.packet.OPEN_SUCCEEDED=paramiko.packet-module.html#OPEN_SUCCEEDED,Variable paramiko.pkey.OPEN_SUCCEEDED=paramiko.pkey-module.html#OPEN_SUCCEEDED,Variable paramiko.rsakey.OPEN_SUCCEEDED=paramiko.rsakey-module.html#OPEN_SUCCEEDED,Variable paramiko.server.OPEN_SUCCEEDED=paramiko.server-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp.OPEN_SUCCEEDED=paramiko.sftp-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_attr.OPEN_SUCCEEDED=paramiko.sftp_attr-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_client.OPEN_SUCCEEDED=paramiko.sftp_client-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_file.OPEN_SUCCEEDED=paramiko.sftp_file-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_handle.OPEN_SUCCEEDED=paramiko.sftp_handle-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_server.OPEN_SUCCEEDED=paramiko.sftp_server-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_si.OPEN_SUCCEEDED=paramiko.sftp_si-module.html#OPEN_SUCCEEDED,Variable paramiko.transport.OPEN_SUCCEEDED=paramiko.transport-module.html#OPEN_SUCCEEDED,Variable paramiko.util.OPEN_SUCCEEDED=paramiko.util-module.html#OPEN_SUCCEEDED"><a title="paramiko.auth_handler.OPEN_SUCCEEDED
-paramiko.channel.OPEN_SUCCEEDED
-paramiko.client.OPEN_SUCCEEDED
-paramiko.common.OPEN_SUCCEEDED
-paramiko.dsskey.OPEN_SUCCEEDED
-paramiko.hostkeys.OPEN_SUCCEEDED
-paramiko.kex_gex.OPEN_SUCCEEDED
-paramiko.kex_group1.OPEN_SUCCEEDED
-paramiko.packet.OPEN_SUCCEEDED
-paramiko.pkey.OPEN_SUCCEEDED
-paramiko.rsakey.OPEN_SUCCEEDED
-paramiko.server.OPEN_SUCCEEDED
-paramiko.sftp.OPEN_SUCCEEDED
-paramiko.sftp_attr.OPEN_SUCCEEDED
-paramiko.sftp_client.OPEN_SUCCEEDED
-paramiko.sftp_file.OPEN_SUCCEEDED
-paramiko.sftp_handle.OPEN_SUCCEEDED
-paramiko.sftp_server.OPEN_SUCCEEDED
-paramiko.sftp_si.OPEN_SUCCEEDED
-paramiko.transport.OPEN_SUCCEEDED
-paramiko.util.OPEN_SUCCEEDED" class="py-name" href="#" onclick="return doclink('link-64', 'OPEN_SUCCEEDED', 'link-64');">OPEN_SUCCEEDED</a></tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.auth_handler-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.channel-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.common-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.dsskey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.hostkeys-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_gex-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_group1-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.packet-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.pkey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.rsakey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_attr-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_file-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_handle-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_si-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.transport-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"><a title="paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED" class="py-name" href="#" onclick="return doclink('link-65', 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED', 'link-65');">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a></tt><tt class="py-op">,</tt> <tt id="link-66" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_CONNECT_FAILED=paramiko.auth_handler-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.channel.OPEN_FAILED_CONNECT_FAILED=paramiko.channel-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.client.OPEN_FAILED_CONNECT_FAILED=paramiko.client-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.common.OPEN_FAILED_CONNECT_FAILED=paramiko.common-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.dsskey.OPEN_FAILED_CONNECT_FAILED=paramiko.dsskey-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.hostkeys.OPEN_FAILED_CONNECT_FAILED=paramiko.hostkeys-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.kex_gex.OPEN_FAILED_CONNECT_FAILED=paramiko.kex_gex-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.kex_group1.OPEN_FAILED_CONNECT_FAILED=paramiko.kex_group1-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.packet.OPEN_FAILED_CONNECT_FAILED=paramiko.packet-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.pkey.OPEN_FAILED_CONNECT_FAILED=paramiko.pkey-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.rsakey.OPEN_FAILED_CONNECT_FAILED=paramiko.rsakey-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.server.OPEN_FAILED_CONNECT_FAILED=paramiko.server-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_attr.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_attr-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_client.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_client-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_file.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_file-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_handle.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_handle-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_server.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_server-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_si.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_si-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.transport.OPEN_FAILED_CONNECT_FAILED=paramiko.transport-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.util.OPEN_FAILED_CONNECT_FAILED=paramiko.util-module.html#OPEN_FAILED_CONNECT_FAILED"><a title="paramiko.auth_handler.OPEN_FAILED_CONNECT_FAILED
-paramiko.channel.OPEN_FAILED_CONNECT_FAILED
-paramiko.client.OPEN_FAILED_CONNECT_FAILED
-paramiko.common.OPEN_FAILED_CONNECT_FAILED
-paramiko.dsskey.OPEN_FAILED_CONNECT_FAILED
-paramiko.hostkeys.OPEN_FAILED_CONNECT_FAILED
-paramiko.kex_gex.OPEN_FAILED_CONNECT_FAILED
-paramiko.kex_group1.OPEN_FAILED_CONNECT_FAILED
-paramiko.packet.OPEN_FAILED_CONNECT_FAILED
-paramiko.pkey.OPEN_FAILED_CONNECT_FAILED
-paramiko.rsakey.OPEN_FAILED_CONNECT_FAILED
-paramiko.server.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_attr.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_client.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_file.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_handle.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_server.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_si.OPEN_FAILED_CONNECT_FAILED
-paramiko.transport.OPEN_FAILED_CONNECT_FAILED
-paramiko.util.OPEN_FAILED_CONNECT_FAILED" class="py-name" href="#" onclick="return doclink('link-66', 'OPEN_FAILED_CONNECT_FAILED', 'link-66');">OPEN_FAILED_CONNECT_FAILED</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt id="link-67" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.auth_handler-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.channel.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.channel-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.common.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.common-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.dsskey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.dsskey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.hostkeys.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.hostkeys-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.kex_gex.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.kex_gex-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.kex_group1.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.kex_group1-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.packet.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.packet-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.pkey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.pkey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.rsakey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.rsakey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_attr.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_attr-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_file.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_file-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_handle.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_handle-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_si.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_si-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.transport.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.transport-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.util.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.util-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"><a title="paramiko.auth_handler.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.channel.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.common.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.dsskey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.hostkeys.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.kex_gex.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.kex_group1.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.packet.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.pkey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.rsakey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_attr.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_file.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_handle.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_si.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.transport.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.util.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE" class="py-name" href="#" onclick="return doclink('link-67', 'OPEN_FAILED_UNKNOWN_CHANNEL_TYPE', 'link-67');">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a></tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.auth_handler-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.channel.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.channel-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.client.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.common.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.common-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.dsskey.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.dsskey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.hostkeys.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.hostkeys-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.kex_gex.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.kex_gex-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.kex_group1.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.kex_group1-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.packet.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.packet-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.pkey.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.pkey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.rsakey.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.rsakey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.server.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_attr.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_attr-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_client.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_file.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_file-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_handle.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_handle-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_server.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_si.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_si-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.transport.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.transport-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.util.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.util-module.html#OPEN_FAILED_RESOURCE_SHORTAGE"><a title="paramiko.auth_handler.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.channel.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.client.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.common.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.dsskey.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.hostkeys.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.kex_gex.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.kex_group1.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.packet.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.pkey.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.rsakey.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.server.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_attr.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_client.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_file.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_handle.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_server.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_si.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.transport.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.util.OPEN_FAILED_RESOURCE_SHORTAGE" class="py-name" href="#" onclick="return doclink('link-68', 'OPEN_FAILED_RESOURCE_SHORTAGE', 'link-68');">OPEN_FAILED_RESOURCE_SHORTAGE</a></tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-69" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-69', 'sftp', 'link-30');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt id="link-70" class="py-name" targets="Variable paramiko.sftp.SFTP_OK=paramiko.sftp-module.html#SFTP_OK,Variable paramiko.sftp_attr.SFTP_OK=paramiko.sftp_attr-module.html#SFTP_OK,Variable paramiko.sftp_client.SFTP_OK=paramiko.sftp_client-module.html#SFTP_OK,Variable paramiko.sftp_file.SFTP_OK=paramiko.sftp_file-module.html#SFTP_OK,Variable paramiko.sftp_handle.SFTP_OK=paramiko.sftp_handle-module.html#SFTP_OK,Variable paramiko.sftp_server.SFTP_OK=paramiko.sftp_server-module.html#SFTP_OK,Variable paramiko.sftp_si.SFTP_OK=paramiko.sftp_si-module.html#SFTP_OK"><a title="paramiko.sftp.SFTP_OK
-paramiko.sftp_attr.SFTP_OK
-paramiko.sftp_client.SFTP_OK
-paramiko.sftp_file.SFTP_OK
-paramiko.sftp_handle.SFTP_OK
-paramiko.sftp_server.SFTP_OK
-paramiko.sftp_si.SFTP_OK" class="py-name" href="#" onclick="return doclink('link-70', 'SFTP_OK', 'link-70');">SFTP_OK</a></tt><tt class="py-op">,</tt> <tt id="link-71" class="py-name" targets="Variable paramiko.sftp.SFTP_EOF=paramiko.sftp-module.html#SFTP_EOF,Variable paramiko.sftp_attr.SFTP_EOF=paramiko.sftp_attr-module.html#SFTP_EOF,Variable paramiko.sftp_client.SFTP_EOF=paramiko.sftp_client-module.html#SFTP_EOF,Variable paramiko.sftp_file.SFTP_EOF=paramiko.sftp_file-module.html#SFTP_EOF,Variable paramiko.sftp_handle.SFTP_EOF=paramiko.sftp_handle-module.html#SFTP_EOF,Variable paramiko.sftp_server.SFTP_EOF=paramiko.sftp_server-module.html#SFTP_EOF,Variable paramiko.sftp_si.SFTP_EOF=paramiko.sftp_si-module.html#SFTP_EOF"><a title="paramiko.sftp.SFTP_EOF
-paramiko.sftp_attr.SFTP_EOF
-paramiko.sftp_client.SFTP_EOF
-paramiko.sftp_file.SFTP_EOF
-paramiko.sftp_handle.SFTP_EOF
-paramiko.sftp_server.SFTP_EOF
-paramiko.sftp_si.SFTP_EOF" class="py-name" href="#" onclick="return doclink('link-71', 'SFTP_EOF', 'link-71');">SFTP_EOF</a></tt><tt class="py-op">,</tt> <tt id="link-72" class="py-name" targets="Variable paramiko.sftp.SFTP_NO_SUCH_FILE=paramiko.sftp-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_attr.SFTP_NO_SUCH_FILE=paramiko.sftp_attr-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_client.SFTP_NO_SUCH_FILE=paramiko.sftp_client-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_file.SFTP_NO_SUCH_FILE=paramiko.sftp_file-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_handle.SFTP_NO_SUCH_FILE=paramiko.sftp_handle-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_server.SFTP_NO_SUCH_FILE=paramiko.sftp_server-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_si.SFTP_NO_SUCH_FILE=paramiko.sftp_si-module.html#SFTP_NO_SUCH_FILE"><a title="paramiko.sftp.SFTP_NO_SUCH_FILE
-paramiko.sftp_attr.SFTP_NO_SUCH_FILE
-paramiko.sftp_client.SFTP_NO_SUCH_FILE
-paramiko.sftp_file.SFTP_NO_SUCH_FILE
-paramiko.sftp_handle.SFTP_NO_SUCH_FILE
-paramiko.sftp_server.SFTP_NO_SUCH_FILE
-paramiko.sftp_si.SFTP_NO_SUCH_FILE" class="py-name" href="#" onclick="return doclink('link-72', 'SFTP_NO_SUCH_FILE', 'link-72');">SFTP_NO_SUCH_FILE</a></tt><tt class="py-op">,</tt> <tt id="link-73" class="py-name" targets="Variable paramiko.sftp.SFTP_PERMISSION_DENIED=paramiko.sftp-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_attr.SFTP_PERMISSION_DENIED=paramiko.sftp_attr-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_client.SFTP_PERMISSION_DENIED=paramiko.sftp_client-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_file.SFTP_PERMISSION_DENIED=paramiko.sftp_file-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_handle.SFTP_PERMISSION_DENIED=paramiko.sftp_handle-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_server.SFTP_PERMISSION_DENIED=paramiko.sftp_server-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_si.SFTP_PERMISSION_DENIED=paramiko.sftp_si-module.html#SFTP_PERMISSION_DENIED"><a title="paramiko.sftp.SFTP_PERMISSION_DENIED
-paramiko.sftp_attr.SFTP_PERMISSION_DENIED
-paramiko.sftp_client.SFTP_PERMISSION_DENIED
-paramiko.sftp_file.SFTP_PERMISSION_DENIED
-paramiko.sftp_handle.SFTP_PERMISSION_DENIED
-paramiko.sftp_server.SFTP_PERMISSION_DENIED
-paramiko.sftp_si.SFTP_PERMISSION_DENIED" class="py-name" href="#" onclick="return doclink('link-73', 'SFTP_PERMISSION_DENIED', 'link-73');">SFTP_PERMISSION_DENIED</a></tt><tt class="py-op">,</tt> <tt id="link-74" class="py-name" targets="Variable paramiko.sftp.SFTP_FAILURE=paramiko.sftp-module.html#SFTP_FAILURE,Variable paramiko.sftp_attr.SFTP_FAILURE=paramiko.sftp_attr-module.html#SFTP_FAILURE,Variable paramiko.sftp_client.SFTP_FAILURE=paramiko.sftp_client-module.html#SFTP_FAILURE,Variable paramiko.sftp_file.SFTP_FAILURE=paramiko.sftp_file-module.html#SFTP_FAILURE,Variable paramiko.sftp_handle.SFTP_FAILURE=paramiko.sftp_handle-module.html#SFTP_FAILURE,Variable paramiko.sftp_server.SFTP_FAILURE=paramiko.sftp_server-module.html#SFTP_FAILURE,Variable paramiko.sftp_si.SFTP_FAILURE=paramiko.sftp_si-module.html#SFTP_FAILURE"><a title="paramiko.sftp.SFTP_FAILURE
-paramiko.sftp_attr.SFTP_FAILURE
-paramiko.sftp_client.SFTP_FAILURE
-paramiko.sftp_file.SFTP_FAILURE
-paramiko.sftp_handle.SFTP_FAILURE
-paramiko.sftp_server.SFTP_FAILURE
-paramiko.sftp_si.SFTP_FAILURE" class="py-name" href="#" onclick="return doclink('link-74', 'SFTP_FAILURE', 'link-74');">SFTP_FAILURE</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt id="link-75" class="py-name" targets="Variable paramiko.sftp.SFTP_BAD_MESSAGE=paramiko.sftp-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_attr.SFTP_BAD_MESSAGE=paramiko.sftp_attr-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_client.SFTP_BAD_MESSAGE=paramiko.sftp_client-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_file.SFTP_BAD_MESSAGE=paramiko.sftp_file-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_handle.SFTP_BAD_MESSAGE=paramiko.sftp_handle-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_server.SFTP_BAD_MESSAGE=paramiko.sftp_server-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_si.SFTP_BAD_MESSAGE=paramiko.sftp_si-module.html#SFTP_BAD_MESSAGE"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-75', 'SFTP_BAD_MESSAGE', 'link-75');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt id="link-76" class="py-name" targets="Variable paramiko.sftp.SFTP_NO_CONNECTION=paramiko.sftp-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_attr.SFTP_NO_CONNECTION=paramiko.sftp_attr-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_client.SFTP_NO_CONNECTION=paramiko.sftp_client-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_file.SFTP_NO_CONNECTION=paramiko.sftp_file-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_handle.SFTP_NO_CONNECTION=paramiko.sftp_handle-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_server.SFTP_NO_CONNECTION=paramiko.sftp_server-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_si.SFTP_NO_CONNECTION=paramiko.sftp_si-module.html#SFTP_NO_CONNECTION"><a title="paramiko.sftp.SFTP_NO_CONNECTION
-paramiko.sftp_attr.SFTP_NO_CONNECTION
-paramiko.sftp_client.SFTP_NO_CONNECTION
-paramiko.sftp_file.SFTP_NO_CONNECTION
-paramiko.sftp_handle.SFTP_NO_CONNECTION
-paramiko.sftp_server.SFTP_NO_CONNECTION
-paramiko.sftp_si.SFTP_NO_CONNECTION" class="py-name" href="#" onclick="return doclink('link-76', 'SFTP_NO_CONNECTION', 'link-76');">SFTP_NO_CONNECTION</a></tt><tt class="py-op">,</tt> <tt id="link-77" class="py-name" targets="Variable paramiko.sftp.SFTP_CONNECTION_LOST=paramiko.sftp-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_attr.SFTP_CONNECTION_LOST=paramiko.sftp_attr-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_client.SFTP_CONNECTION_LOST=paramiko.sftp_client-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_file.SFTP_CONNECTION_LOST=paramiko.sftp_file-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_handle.SFTP_CONNECTION_LOST=paramiko.sftp_handle-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_server.SFTP_CONNECTION_LOST=paramiko.sftp_server-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_si.SFTP_CONNECTION_LOST=paramiko.sftp_si-module.html#SFTP_CONNECTION_LOST"><a title="paramiko.sftp.SFTP_CONNECTION_LOST
-paramiko.sftp_attr.SFTP_CONNECTION_LOST
-paramiko.sftp_client.SFTP_CONNECTION_LOST
-paramiko.sftp_file.SFTP_CONNECTION_LOST
-paramiko.sftp_handle.SFTP_CONNECTION_LOST
-paramiko.sftp_server.SFTP_CONNECTION_LOST
-paramiko.sftp_si.SFTP_CONNECTION_LOST" class="py-name" href="#" onclick="return doclink('link-77', 'SFTP_CONNECTION_LOST', 'link-77');">SFTP_CONNECTION_LOST</a></tt><tt class="py-op">,</tt> <tt id="link-78" class="py-name" targets="Variable paramiko.sftp.SFTP_OP_UNSUPPORTED=paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_attr.SFTP_OP_UNSUPPORTED=paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_client.SFTP_OP_UNSUPPORTED=paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_file.SFTP_OP_UNSUPPORTED=paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_handle.SFTP_OP_UNSUPPORTED=paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_server.SFTP_OP_UNSUPPORTED=paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_si.SFTP_OP_UNSUPPORTED=paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-78', 'SFTP_OP_UNSUPPORTED', 'link-78');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'Transport'</tt><tt class="py-op">,</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-string">'SSHClient'</tt><tt class="py-op">,</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-string">'MissingHostKeyPolicy'</tt><tt class="py-op">,</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-string">'AutoAddPolicy'</tt><tt class="py-op">,</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-string">'RejectPolicy'</tt><tt class="py-op">,</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-string">'WarningPolicy'</tt><tt class="py-op">,</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-string">'SecurityOptions'</tt><tt class="py-op">,</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-string">'SubsystemHandler'</tt><tt class="py-op">,</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-string">'Channel'</tt><tt class="py-op">,</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-string">'PKey'</tt><tt class="py-op">,</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-string">'RSAKey'</tt><tt class="py-op">,</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-string">'DSSKey'</tt><tt class="py-op">,</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-string">'Message'</tt><tt class="py-op">,</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-string">'SSHException'</tt><tt class="py-op">,</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-string">'AuthenticationException'</tt><tt class="py-op">,</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-string">'PasswordRequiredException'</tt><tt class="py-op">,</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-string">'BadAuthenticationType'</tt><tt class="py-op">,</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-string">'ChannelException'</tt><tt class="py-op">,</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-string">'BadHostKeyException'</tt><tt class="py-op">,</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-string">'SFTP'</tt><tt class="py-op">,</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-string">'SFTPFile'</tt><tt class="py-op">,</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-string">'SFTPHandle'</tt><tt class="py-op">,</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-string">'SFTPClient'</tt><tt class="py-op">,</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-string">'SFTPServer'</tt><tt class="py-op">,</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-string">'SFTPError'</tt><tt class="py-op">,</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-string">'SFTPAttributes'</tt><tt class="py-op">,</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-string">'SFTPServerInterface'</tt><tt class="py-op">,</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-string">'ServerInterface'</tt><tt class="py-op">,</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-string">'BufferedFile'</tt><tt class="py-op">,</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-string">'Agent'</tt><tt class="py-op">,</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-string">'AgentKey'</tt><tt class="py-op">,</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-string">'HostKeys'</tt><tt class="py-op">,</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-string">'SSHConfig'</tt><tt class="py-op">,</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-string">'util'</tt> <tt class="py-op">]</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.Agent-class.html b/docs/paramiko.Agent-class.html
deleted file mode 100644
index 41ed7fa..0000000
--- a/docs/paramiko.Agent-class.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.Agent</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;Agent
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.Agent-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Agent</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#Agent">source&nbsp;code</a></span></p>
-<p>Client interface for using private keys from an SSH agent running on
- the local machine. If an SSH agent is running, this class can be used to
- connect to it and retreive <a href="paramiko.PKey-class.html"
- class="link">PKey</a> objects which can be used when attempting to
- authenticate to remote SSH servers.</p>
- <p>Because the SSH agent protocol uses environment variables and
- unix-domain sockets, this probably doesn't work on Windows. It does work
- on most posix platforms though (Linux and MacOS X, for example).</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Agent-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Open a session with the local machine's SSH agent, if one is running.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Close the SSH agent connection.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">tuple of <a href="paramiko.AgentKey-class.html"
- class="link">AgentKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Agent-class.html#get_keys" class="summary-sig-name">get_keys</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the list of keys available through the SSH agent, if any.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Open a session with the local machine's SSH agent, if one is running.
- If no agent is running, initialization will succeed, but <a
- href="paramiko.Agent-class.html#get_keys" class="link">get_keys</a> will
- return an empty tuple.</p>
- <dl class="fields">
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if an SSH agent is found, but speaks an incompatible protocol</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_keys</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the list of keys available through the SSH agent, if any. If
- no SSH agent was running (or it couldn't be contacted), an empty list
- will be returned.</p>
- <dl class="fields">
- <dt>Returns: tuple of <a href="paramiko.AgentKey-class.html"
- class="link">AgentKey</a></dt>
- <dd>a list of keys available on the SSH agent</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.AgentKey-class.html b/docs/paramiko.AgentKey-class.html
deleted file mode 100644
index 3034e6c..0000000
--- a/docs/paramiko.AgentKey-class.html
+++ /dev/null
@@ -1,399 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.AgentKey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;AgentKey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.AgentKey-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AgentKey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#AgentKey">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <a href="paramiko.PKey-class.html">PKey</a> --+
- |
- <strong class="uidshort">AgentKey</strong>
-</pre>
-
-<hr />
-<p>Private key held in a local SSH agent. This type of key can be used
- for authenticating to a remote server (signing). Most other key
- operations work as expected.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.AgentKey-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">agent</span>,
- <span class="summary-sig-arg">blob</span>)</span><br />
- Create a new instance of this public key type.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.AgentKey-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.AgentKey-class.html#get_name" class="summary-sig-name">get_name</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the name of this private key implementation.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Message-class.html" class="link">Message</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.AgentKey-class.html#sign_ssh_data" class="summary-sig-name">sign_ssh_data</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">rng</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a>
- representing an SSH signature message.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.PKey-class.html">PKey</a></code></b>:
- <code><a href="paramiko.PKey-class.html#__cmp__">__cmp__</a></code>,
- <code><a href="paramiko.PKey-class.html#can_sign">can_sign</a></code>,
- <code><a href="paramiko.PKey-class.html#get_base64">get_base64</a></code>,
- <code><a href="paramiko.PKey-class.html#get_bits">get_bits</a></code>,
- <code><a href="paramiko.PKey-class.html#get_fingerprint">get_fingerprint</a></code>,
- <code><a href="paramiko.PKey-class.html#verify_ssh_sig">verify_ssh_sig</a></code>,
- <code><a href="paramiko.PKey-class.html#write_private_key">write_private_key</a></code>,
- <code><a href="paramiko.PKey-class.html#write_private_key_file">write_private_key_file</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.PKey-class.html">PKey</a></code></b>:
- <code><a href="paramiko.PKey-class.html#from_private_key">from_private_key</a></code>,
- <code><a href="paramiko.PKey-class.html#from_private_key_file">from_private_key_file</a></code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">agent</span>,
- <span class="sig-arg">blob</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new instance of this public key type. If <code>msg</code> is
- given, the key's public part(s) will be filled in from the message. If
- <code>data</code> is given, the key's public part(s) will be filled in
- from the string.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>msg</code></strong> - an optional SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> containing a public key of this type.</li>
- <li><strong class="pname"><code>data</code></strong> - an optional string containing a public key of this type</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if a key cannot be created from the <code>data</code> or
- <code>msg</code> given, or no key was passed in.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key. This
- string is suitable for passing to <a
- href="paramiko.AgentKey-class.html#__init__" class="link">__init__</a> to
- re-create the key object later.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>string representation of an SSH key message.</dd>
- <dt>Overrides:
- object.__str__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_name</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the name of this private key implementation.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>name of this private key type, in SSH terminology (for example,
- <code>&quot;ssh-rsa&quot;</code>).</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#get_name">PKey.get_name</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="sign_ssh_data"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">sign_ssh_data</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">rng</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a> representing
- an SSH signature message.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>rng</code></strong> - a secure random number generator.</li>
- <li><strong class="pname"><code>data</code></strong> - the data to sign.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Message-class.html" class="link">Message</a></dt>
- <dd>an SSH signature message.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#sign_ssh_data">PKey.sign_ssh_data</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.AuthenticationException-class.html b/docs/paramiko.AuthenticationException-class.html
deleted file mode 100644
index 9eca0ff..0000000
--- a/docs/paramiko.AuthenticationException-class.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.AuthenticationException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;AuthenticationException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.AuthenticationException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AuthenticationException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#AuthenticationException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <a href="paramiko.SSHException-class.html">SSHException</a> --+
- |
- <strong class="uidshort">AuthenticationException</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li><a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a></li><li>, <a href="paramiko.PasswordRequiredException-class.html">PasswordRequiredException</a></li><li>, <a href="paramiko.ssh_exception.PartialAuthentication-class.html">ssh_exception.PartialAuthentication</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>Exception raised when authentication failed for some reason. It may
- be possible to retry with different credentials. (Other classes specify
- more specific reasons.)</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.6
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.AutoAddPolicy-class.html b/docs/paramiko.AutoAddPolicy-class.html
deleted file mode 100644
index 6acbd2a..0000000
--- a/docs/paramiko.AutoAddPolicy-class.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.AutoAddPolicy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;AutoAddPolicy
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.AutoAddPolicy-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class AutoAddPolicy</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#AutoAddPolicy">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-<a href="paramiko.MissingHostKeyPolicy-class.html">MissingHostKeyPolicy</a> --+
- |
- <strong class="uidshort">AutoAddPolicy</strong>
-</pre>
-
-<hr />
-<p>Policy for automatically adding the hostname and new host key to the
- local <a href="paramiko.HostKeys-class.html" class="link">HostKeys</a>
- object, and saving it. This is used by <a
- href="paramiko.SSHClient-class.html" class="link">SSHClient</a>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.AutoAddPolicy-class.html#missing_host_key" class="summary-sig-name">missing_host_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">client</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that
- isn't in either the system or local <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a> object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__init__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="missing_host_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">missing_host_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">client</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that isn't
- in either the system or local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object. To accept the key, simply return. To
- reject, raised an exception (which will be passed to the calling
- application).</p>
- <dl class="fields">
- <dt>Overrides:
- <a href="paramiko.MissingHostKeyPolicy-class.html#missing_host_key">MissingHostKeyPolicy.missing_host_key</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.BadAuthenticationType-class.html b/docs/paramiko.BadAuthenticationType-class.html
deleted file mode 100644
index 243c134..0000000
--- a/docs/paramiko.BadAuthenticationType-class.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.BadAuthenticationType</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;BadAuthenticationType
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.BadAuthenticationType-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BadAuthenticationType</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#BadAuthenticationType">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <a href="paramiko.SSHException-class.html">SSHException</a> --+
- |
- <a href="paramiko.AuthenticationException-class.html">AuthenticationException</a> --+
- |
- <strong class="uidshort">BadAuthenticationType</strong>
-</pre>
-
-<hr />
-<p>Exception raised when an authentication type (like password) is used,
- but the server isn't allowing that type. (It may only allow public-key,
- for example.)</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BadAuthenticationType-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">explanation</span>,
- <span class="summary-sig-arg">types</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BadAuthenticationType-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- str(x)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== INSTANCE VARIABLES ==================== -->
-<a name="section-InstanceVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list</span>
- </td><td class="summary">
- <a name="allowed_types"></a><span class="summary-name">allowed_types</span> = <code title="[]"><code class="variable-group">[</code><code class="variable-group">]</code></code><br />
- list of allowed authentication types provided by the server (possible
- values are: <code>&quot;none&quot;</code>,
- <code>&quot;password&quot;</code>, and
- <code>&quot;publickey&quot;</code>).
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">explanation</span>,
- <span class="sig-arg">types</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>str(x)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__str__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.BadHostKeyException-class.html b/docs/paramiko.BadHostKeyException-class.html
deleted file mode 100644
index a62448c..0000000
--- a/docs/paramiko.BadHostKeyException-class.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.BadHostKeyException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;BadHostKeyException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.BadHostKeyException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BadHostKeyException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#BadHostKeyException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <a href="paramiko.SSHException-class.html">SSHException</a> --+
- |
- <strong class="uidshort">BadHostKeyException</strong>
-</pre>
-
-<hr />
-<p>The host key given by the SSH server did not match what we were
- expecting.</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.6
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BadHostKeyException-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">got_key</span>,
- <span class="summary-sig-arg">expected_key</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== INSTANCE VARIABLES ==================== -->
-<a name="section-InstanceVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.PKey-class.html" class="link">PKey</a></span>
- </td><td class="summary">
- <a name="expected_key"></a><span class="summary-name">expected_key</span><br />
- the host key expected
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <a name="hostname"></a><span class="summary-name">hostname</span><br />
- the hostname of the SSH server
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.PKey-class.html" class="link">PKey</a></span>
- </td><td class="summary">
- <a name="key"></a><span class="summary-name">key</span><br />
- the host key presented by the server
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">got_key</span>,
- <span class="sig-arg">expected_key</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.BufferedFile-class.html b/docs/paramiko.BufferedFile-class.html
deleted file mode 100644
index 13a3c66..0000000
--- a/docs/paramiko.BufferedFile-class.html
+++ /dev/null
@@ -1,856 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.BufferedFile</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;BufferedFile
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.BufferedFile-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BufferedFile</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#BufferedFile">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">BufferedFile</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li class="private">ChannelFile</li><li>, <a href="paramiko.SFTPFile-class.html">SFTPFile</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>Reusable base class to implement python-style file buffering around a
- simpler stream.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__del__"></a><span class="summary-sig-name">__del__</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">iterator</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#__iter__" class="summary-sig-name">__iter__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns an iterator that can be used to iterate over the lines in
- this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Close the file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#flush" class="summary-sig-name">flush</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Write out any data in the write buffer.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#next" class="summary-sig-name">next</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns the next line from the input, or raises <code
- class="link">StopIteration</code> when EOF is hit.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">size</span>=<span class="summary-sig-default">None</span>)</span><br />
- Read at most <code>size</code> bytes from the file (less if we hit
- the end of the file first).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#readline" class="summary-sig-name">readline</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">size</span>=<span class="summary-sig-default">None</span>)</span><br />
- Read one entire line from the file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#readlines" class="summary-sig-name">readlines</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">sizehint</span>=<span class="summary-sig-default">None</span>)</span><br />
- Read all remaining lines using <a
- href="paramiko.BufferedFile-class.html#readline"
- class="link">readline</a> and return them as a list.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#seek" class="summary-sig-name">seek</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">offset</span>,
- <span class="summary-sig-arg">whence</span>=<span class="summary-sig-default">0</span>)</span><br />
- Set the file's current position, like stdio's <code>fseek</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#tell" class="summary-sig-name">tell</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the file's current position.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Write data to the file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#writelines" class="summary-sig-name">writelines</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">sequence</span>)</span><br />
- Write a sequence of strings to the file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">iterator</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.BufferedFile-class.html#xreadlines" class="summary-sig-name">xreadlines</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Identical to <code>iter(f)</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_APPEND"></a><span class="summary-name">FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_BINARY"></a><span class="summary-name">FLAG_BINARY</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_BUFFERED"></a><span class="summary-name">FLAG_BUFFERED</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_LINE_BUFFERED"></a><span class="summary-name">FLAG_LINE_BUFFERED</span> = <code title="64">64</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_READ"></a><span class="summary-name">FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_UNIVERSAL_NEWLINE"></a><span class="summary-name">FLAG_UNIVERSAL_NEWLINE</span> = <code title="128">128</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_WRITE"></a><span class="summary-name">FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SEEK_CUR"></a><span class="summary-name">SEEK_CUR</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SEEK_END"></a><span class="summary-name">SEEK_END</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SEEK_SET"></a><span class="summary-name">SEEK_SET</span> = <code title="0">0</code>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__iter__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__iter__</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns an iterator that can be used to iterate over the lines in this
- file. This iterator happens to return the file itself, since a file is
- its own iterator.</p>
- <dl class="fields">
- <dt>Returns: iterator</dt>
- <dd>an interator.</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>ValueError</strong></code> - if the file is closed.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Close the file. Future read and write operations will fail.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="flush"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">flush</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write out any data in the write buffer. This may do nothing if write
- buffering is not turned on.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="next"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">next</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns the next line from the input, or raises <code
- class="link">StopIteration</code> when EOF is hit. Unlike python file
- objects, it's okay to mix calls to <code>next</code> and <a
- href="paramiko.BufferedFile-class.html#readline"
- class="link">readline</a>.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>a line read from the file.</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>StopIteration</strong></code> - when the end of the file is reached.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="read"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">size</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read at most <code>size</code> bytes from the file (less if we hit the
- end of the file first). If the <code>size</code> argument is negative or
- omitted, read all the remaining data in the file.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>size</code></strong> (int) - maximum number of bytes to read</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>data read from the file, or an empty string if EOF was
- encountered immediately</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="readline"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">readline</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">size</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read one entire line from the file. A trailing newline character is
- kept in the string (but may be absent when a file ends with an incomplete
- line). If the size argument is present and non-negative, it is a maximum
- byte count (including the trailing newline) and an incomplete line may be
- returned. An empty string is returned only when EOF is encountered
- immediately.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>size</code></strong> (int) - maximum length of returned string.</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>next line of the file, or an empty string if the end of the file
- has been reached.</dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- Unlike stdio's <code>fgets()</code>, the returned string contains
- null characters (<code>'\0'</code>) if they occurred in the input.
- </p>
-</div></td></tr></table>
-</div>
-<a name="readlines"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">readlines</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">sizehint</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read all remaining lines using <a
- href="paramiko.BufferedFile-class.html#readline"
- class="link">readline</a> and return them as a list. If the optional
- <code>sizehint</code> argument is present, instead of reading up to EOF,
- whole lines totalling approximately sizehint bytes (possibly after
- rounding up to an internal buffer size) are read.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>sizehint</code></strong> (int) - desired maximum number of bytes to read.</li>
- </ul></dd>
- <dt>Returns: list</dt>
- <dd>list of lines read from the file.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="seek"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">seek</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">offset</span>,
- <span class="sig-arg">whence</span>=<span class="sig-default">0</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the file's current position, like stdio's <code>fseek</code>. Not
- all file objects support seeking.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>offset</code></strong> (int) - position to move to within the file, relative to
- <code>whence</code>.</li>
- <li><strong class="pname"><code>whence</code></strong> (int) - type of movement: 0 = absolute; 1 = relative to the current
- position; 2 = relative to the end of the file.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the file doesn't support random access.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- If a file is opened in append mode (<code>'a'</code> or
- <code>'a+'</code>), any seek operations will be undone at the next
- write (as the file position will move back to the end of the file).
- </p>
-</div></td></tr></table>
-</div>
-<a name="tell"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">tell</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the file's current position. This may not be accurate or
- useful if the underlying file doesn't support random access, or was
- opened in append mode.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>file position (in bytes).</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="write"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write data to the file. If write buffering is on
- (<code>bufsize</code> was specified and non-zero), some or all of the
- data may not actually be written yet. (Use <a
- href="paramiko.BufferedFile-class.html#flush" class="link">flush</a> or
- <a href="paramiko.BufferedFile-class.html#close" class="link">close</a>
- to force buffered data to be written out.)</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>data</code></strong> (str) - data to write.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="writelines"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">writelines</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">sequence</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write a sequence of strings to the file. The sequence can be any
- iterable object producing strings, typically a list of strings. (The
- name is intended to match <a
- href="paramiko.BufferedFile-class.html#readlines"
- class="link">readlines</a>; <code>writelines</code> does not add line
- separators.)</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>sequence</code></strong> (sequence) - an iterable sequence of strings.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="xreadlines"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">xreadlines</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Identical to <code>iter(f)</code>. This is a deprecated file
- interface that predates python iterator support.</p>
- <dl class="fields">
- <dt>Returns: iterator</dt>
- <dd>an iterator.</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.Channel-class.html b/docs/paramiko.Channel-class.html
deleted file mode 100644
index aa4c6fa..0000000
--- a/docs/paramiko.Channel-class.html
+++ /dev/null
@@ -1,1998 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.Channel</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;Channel
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.Channel-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Channel</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#Channel">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">Channel</strong>
-</pre>
-
-<hr />
-<p>A secure tunnel across an SSH <a href="paramiko.Transport-class.html"
- class="link">Transport</a>. A Channel is meant to behave like a socket,
- and has an API that should be indistinguishable from the python socket
- API.</p>
- <p>Because SSH2 has a windowing kind of flow control, if you stop reading
- data from a Channel and its buffer fills up, the server will be unable to
- send you any more data until you read some of it. (This won't affect
- other channels on the same transport -- all channels on a single
- transport are flow-controlled independently.) Similarly, if the server
- isn't reading data you send, calls to <a
- href="paramiko.Channel-class.html#send" class="link">send</a> may block,
- unless you set a timeout. This is exactly like a normal network socket,
- so it shouldn't be too surprising.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__del__"></a><span class="summary-sig-name">__del__</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">chanid</span>)</span><br />
- Create a new channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a string representation of this object, for debugging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Close the channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#exec_command" class="summary-sig-name">exec_command</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">command</span>)</span><br />
- Execute a command on the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#exit_status_ready" class="summary-sig-name">exit_status_ready</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return true if the remote process has exited and returned an exit
- status.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#fileno" class="summary-sig-name">fileno</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns an OS-level file descriptor which can be used for polling,
- but but <i>not</i> for reading or writing.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#get_id" class="summary-sig-name">get_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the ID # for this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#get_name" class="summary-sig-name">get_name</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Get the name of this channel that was previously set by <a
- href="paramiko.Channel-class.html#set_name"
- class="link">set_name</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#get_pty" class="summary-sig-name">get_pty</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">term</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">vt100</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">80</span>,
- <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">24</span>)</span><br />
- Request a pseudo-terminal from the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Transport-class.html" class="link">Transport</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#get_transport" class="summary-sig-name">get_transport</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the <a href="paramiko.Transport-class.html"
- class="link">Transport</a> associated with this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">tuple(str, int)</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#getpeername" class="summary-sig-name">getpeername</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the address of the remote side of this Channel, if possible.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">float</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#gettimeout" class="summary-sig-name">gettimeout</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns the timeout in seconds (as a float) associated with socket
- operations, or <code>None</code> if no timeout is set.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#invoke_shell" class="summary-sig-name">invoke_shell</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Request an interactive shell session on this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#invoke_subsystem" class="summary-sig-name">invoke_subsystem</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">subsystem</span>)</span><br />
- Request a subsystem on the server (for example, <code>sftp</code>).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">ChannelFile</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#makefile" class="summary-sig-name">makefile</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">*params</span>)</span><br />
- Return a file-like object associated with this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">ChannelFile</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#makefile_stderr" class="summary-sig-name">makefile_stderr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">*params</span>)</span><br />
- Return a file-like object associated with this channel's stderr
- stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#recv" class="summary-sig-name">recv</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">nbytes</span>)</span><br />
- Receive data from the channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#recv_exit_status" class="summary-sig-name">recv_exit_status</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the exit status from the process on the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">boolean</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#recv_ready" class="summary-sig-name">recv_ready</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns true if data is buffered and ready to be read from this
- channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#recv_stderr" class="summary-sig-name">recv_stderr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">nbytes</span>)</span><br />
- Receive data from the channel's stderr stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">boolean</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#recv_stderr_ready" class="summary-sig-name">recv_stderr_ready</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns true if data is buffered and ready to be read from this
- channel's stderr stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#request_x11" class="summary-sig-name">request_x11</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">screen_number</span>=<span class="summary-sig-default">0</span>,
- <span class="summary-sig-arg">auth_protocol</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">auth_cookie</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">single_connection</span>=<span class="summary-sig-default">False</span>,
- <span class="summary-sig-arg">handler</span>=<span class="summary-sig-default">None</span>)</span><br />
- Request an x11 session on this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#resize_pty" class="summary-sig-name">resize_pty</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">80</span>,
- <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">24</span>)</span><br />
- Resize the pseudo-terminal.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#send" class="summary-sig-name">send</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">s</span>)</span><br />
- Send data to the channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#send_exit_status" class="summary-sig-name">send_exit_status</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">status</span>)</span><br />
- Send the exit status of an executed command to the client.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">boolean</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#send_ready" class="summary-sig-name">send_ready</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns true if data can be written to this channel without blocking.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#send_stderr" class="summary-sig-name">send_stderr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">s</span>)</span><br />
- Send data to the channel on the &quot;stderr&quot; stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#sendall" class="summary-sig-name">sendall</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">s</span>)</span><br />
- Send data to the channel, without allowing partial results.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#sendall_stderr" class="summary-sig-name">sendall_stderr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">s</span>)</span><br />
- Send data to the channel's &quot;stderr&quot; stream, without
- allowing partial results.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#set_combine_stderr" class="summary-sig-name">set_combine_stderr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">combine</span>)</span><br />
- Set whether stderr should be combined into stdout on this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#set_name" class="summary-sig-name">set_name</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">name</span>)</span><br />
- Set a name for this channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#setblocking" class="summary-sig-name">setblocking</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">blocking</span>)</span><br />
- Set blocking or non-blocking mode of the channel: if
- <code>blocking</code> is 0, the channel is set to non-blocking mode;
- otherwise it's set to blocking mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#settimeout" class="summary-sig-name">settimeout</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">timeout</span>)</span><br />
- Set a timeout on blocking read/write operations.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#shutdown" class="summary-sig-name">shutdown</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">how</span>)</span><br />
- Shut down one or both halves of the connection.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#shutdown_read" class="summary-sig-name">shutdown_read</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Shutdown the receiving side of this socket, closing the stream in the
- incoming direction.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Channel-class.html#shutdown_write" class="summary-sig-name">shutdown_write</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Shutdown the sending side of this socket, closing the stream in the
- outgoing direction.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">chanid</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new channel. The channel is not associated with any
- particular session or <a href="paramiko.Transport-class.html"
- class="link">Transport</a> until the Transport attaches it. Normally you
- would only call this method from the constructor of a subclass of <a
- href="paramiko.Channel-class.html" class="link">Channel</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>chanid</code></strong> (int) - the ID of this channel, as passed by an existing <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a string representation of this object, for debugging.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dt>Overrides:
- object.__repr__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Close the channel. All future read/write operations on the channel
- will fail. The remote end will receive no more data (after queued data
- is flushed). Channels are automatically closed when their <a
- href="paramiko.Transport-class.html" class="link">Transport</a> is closed
- or when they are garbage collected.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="exec_command"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">exec_command</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">command</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Execute a command on the server. If the server allows it, the channel
- will then be directly connected to the stdin, stdout, and stderr of the
- command being executed.</p>
- <p>When the command finishes executing, the channel will be closed and
- can't be reused. You must open a new channel if you wish to execute
- another command.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>command</code></strong> (str) - a shell command to execute.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request was rejected or the channel was closed</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="exit_status_ready"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">exit_status_ready</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return true if the remote process has exited and returned an exit
- status. You may use this to poll the process status if you don't want to
- block in <a href="paramiko.Channel-class.html#recv_exit_status"
- class="link">recv_exit_status</a>. Note that the server may not return an
- exit status in some cases (like bad servers).</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd>True if <a href="paramiko.Channel-class.html#recv_exit_status"
- class="link">recv_exit_status</a> will return immediately</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.7.3
- </p>
-</div></td></tr></table>
-</div>
-<a name="fileno"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">fileno</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns an OS-level file descriptor which can be used for polling, but
- but <i>not</i> for reading or writing. This is primaily to allow
- python's <code>select</code> module to work.</p>
- <p>The first time <code>fileno</code> is called on a channel, a pipe is
- created to simulate real OS-level file descriptor (FD) behavior. Because
- of this, two OS-level FDs are created, which will use up FDs faster than
- normal. (You won't notice this effect unless you have hundreds of
- channels open at the same time.)</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>an OS-level file descriptor</dd>
- </dl>
-<div class="fields"> <p><strong>Warning:</strong>
- This method causes channel reads to be slightly less efficient.
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_id"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_id</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the ID # for this channel. The channel ID is unique across a
- <a href="paramiko.Transport-class.html" class="link">Transport</a> and
- usually a small number. It's also the number passed to <a
- href="paramiko.ServerInterface-class.html#check_channel_request"
- class="link">ServerInterface.check_channel_request</a> when determining
- whether to accept a channel request in server mode.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>the ID of this channel.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_name</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Get the name of this channel that was previously set by <a
- href="paramiko.Channel-class.html#set_name"
- class="link">set_name</a>.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>the name of this channel.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_pty"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_pty</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">term</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">vt100</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">width</span>=<span class="sig-default">80</span>,
- <span class="sig-arg">height</span>=<span class="sig-default">24</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request a pseudo-terminal from the server. This is usually used right
- after creating a client channel, to ask the server to provide some basic
- terminal semantics for a shell invoked with <a
- href="paramiko.Channel-class.html#invoke_shell"
- class="link">invoke_shell</a>. It isn't necessary (or desirable) to call
- this method if you're going to exectue a single command with <a
- href="paramiko.Channel-class.html#exec_command"
- class="link">exec_command</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>term</code></strong> (str) - the terminal type to emulate (for example, <code>'vt100'</code>)</li>
- <li><strong class="pname"><code>width</code></strong> (int) - width (in characters) of the terminal screen</li>
- <li><strong class="pname"><code>height</code></strong> (int) - height (in characters) of the terminal screen</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request was rejected or the channel was closed</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_transport"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_transport</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the <a href="paramiko.Transport-class.html"
- class="link">Transport</a> associated with this channel.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.Transport-class.html" class="link">Transport</a></dt>
- <dd>the <a href="paramiko.Transport-class.html"
- class="link">Transport</a> that was used to create this channel.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="getpeername"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">getpeername</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the address of the remote side of this Channel, if possible.
- This is just a wrapper around <code>'getpeername'</code> on the
- Transport, used to provide enough of a socket-like interface to allow
- asyncore to work. (asyncore likes to call
- <code>'getpeername'</code>.)</p>
- <dl class="fields">
- <dt>Returns: tuple(str, int)</dt>
- <dd>the address if the remote host, if known</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="gettimeout"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">gettimeout</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns the timeout in seconds (as a float) associated with socket
- operations, or <code>None</code> if no timeout is set. This reflects the
- last call to <a href="paramiko.Channel-class.html#setblocking"
- class="link">setblocking</a> or <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</p>
- <dl class="fields">
- <dt>Returns: float</dt>
- <dd>timeout in seconds, or <code>None</code>.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="invoke_shell"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">invoke_shell</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request an interactive shell session on this channel. If the server
- allows it, the channel will then be directly connected to the stdin,
- stdout, and stderr of the shell.</p>
- <p>Normally you would call <a href="paramiko.Channel-class.html#get_pty"
- class="link">get_pty</a> before this, in which case the shell will
- operate through the pty, and the channel will be connected to the stdin
- and stdout of the pty.</p>
- <p>When the shell exits, the channel will be closed and can't be reused.
- You must open a new channel if you wish to open another shell.</p>
- <dl class="fields">
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request was rejected or the channel was closed</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="invoke_subsystem"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">invoke_subsystem</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">subsystem</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request a subsystem on the server (for example, <code>sftp</code>).
- If the server allows it, the channel will then be directly connected to
- the requested subsystem.</p>
- <p>When the subsystem finishes, the channel will be closed and can't be
- reused.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>subsystem</code></strong> (str) - name of the subsystem being requested.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request was rejected or the channel was closed</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="makefile"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">makefile</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">*params</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a file-like object associated with this channel. The optional
- <code>mode</code> and <code>bufsize</code> arguments are interpreted the
- same way as by the built-in <code>file()</code> function in python.</p>
- <dl class="fields">
- <dt>Returns: ChannelFile</dt>
- <dd>object which can be used for python file I/O.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="makefile_stderr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">makefile_stderr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">*params</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a file-like object associated with this channel's stderr
- stream. Only channels using <a
- href="paramiko.Channel-class.html#exec_command"
- class="link">exec_command</a> or <a
- href="paramiko.Channel-class.html#invoke_shell"
- class="link">invoke_shell</a> without a pty will ever have data on the
- stderr stream.</p>
- <p>The optional <code>mode</code> and <code>bufsize</code> arguments are
- interpreted the same way as by the built-in <code>file()</code> function
- in python. For a client, it only makes sense to open this file for
- reading. For a server, it only makes sense to open this file for
- writing.</p>
- <dl class="fields">
- <dt>Returns: ChannelFile</dt>
- <dd>object which can be used for python file I/O.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="recv"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">recv</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">nbytes</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Receive data from the channel. The return value is a string
- representing the data received. The maximum amount of data to be
- received at once is specified by <code>nbytes</code>. If a string of
- length zero is returned, the channel stream has closed.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>nbytes</code></strong> (int) - maximum number of bytes to read.</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>data.</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>socket.timeout</strong></code> - if no data is ready before the timeout set by <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="recv_exit_status"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">recv_exit_status</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the exit status from the process on the server. This is mostly
- useful for retrieving the reults of an <a
- href="paramiko.Channel-class.html#exec_command"
- class="link">exec_command</a>. If the command hasn't finished yet, this
- method will wait until it does, or until the channel is closed. If no
- exit status is provided by the server, -1 is returned.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>the exit code of the process on the server.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.2
- </p>
-</div></td></tr></table>
-</div>
-<a name="recv_ready"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">recv_ready</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns true if data is buffered and ready to be read from this
- channel. A <code>False</code> result does not mean that the channel has
- closed; it means you may need to wait before more data arrives.</p>
- <dl class="fields">
- <dt>Returns: boolean</dt>
- <dd><code>True</code> if a <a href="paramiko.Channel-class.html#recv"
- class="link">recv</a> call on this channel would immediately
- return at least one byte; <code>False</code> otherwise.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="recv_stderr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">recv_stderr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">nbytes</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Receive data from the channel's stderr stream. Only channels using <a
- href="paramiko.Channel-class.html#exec_command"
- class="link">exec_command</a> or <a
- href="paramiko.Channel-class.html#invoke_shell"
- class="link">invoke_shell</a> without a pty will ever have data on the
- stderr stream. The return value is a string representing the data
- received. The maximum amount of data to be received at once is specified
- by <code>nbytes</code>. If a string of length zero is returned, the
- channel stream has closed.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>nbytes</code></strong> (int) - maximum number of bytes to read.</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>data.</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>socket.timeout</strong></code> - if no data is ready before the timeout set by <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="recv_stderr_ready"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">recv_stderr_ready</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns true if data is buffered and ready to be read from this
- channel's stderr stream. Only channels using <a
- href="paramiko.Channel-class.html#exec_command"
- class="link">exec_command</a> or <a
- href="paramiko.Channel-class.html#invoke_shell"
- class="link">invoke_shell</a> without a pty will ever have data on the
- stderr stream.</p>
- <dl class="fields">
- <dt>Returns: boolean</dt>
- <dd><code>True</code> if a <a
- href="paramiko.Channel-class.html#recv_stderr"
- class="link">recv_stderr</a> call on this channel would
- immediately return at least one byte; <code>False</code>
- otherwise.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="request_x11"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">request_x11</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">screen_number</span>=<span class="sig-default">0</span>,
- <span class="sig-arg">auth_protocol</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">auth_cookie</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">single_connection</span>=<span class="sig-default">False</span>,
- <span class="sig-arg">handler</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request an x11 session on this channel. If the server allows it,
- further x11 requests can be made from the server to the client, when an
- x11 application is run in a shell session.</p>
- <p>From RFC4254:</p>
-<pre class="literalblock">
- It is RECOMMENDED that the 'x11 authentication cookie' that is
- sent be a fake, random cookie, and that the cookie be checked and
- replaced by the real cookie when a connection request is received.
-</pre>
- <p>If you omit the auth_cookie, a new secure random 128-bit value will be
- generated, used, and returned. You will need to use this value to verify
- incoming x11 requests and replace them with the actual local x11 cookie
- (which requires some knoweldge of the x11 protocol).</p>
- <p>If a handler is passed in, the handler is called from another thread
- whenever a new x11 connection arrives. The default handler queues up
- incoming x11 connections, which may be retrieved using <a
- href="paramiko.Transport-class.html#accept"
- class="link">Transport.accept</a>. The handler's calling signature
- is:</p>
-<pre class="literalblock">
- handler(channel: Channel, (address: str, port: int))
-</pre>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>screen_number</code></strong> (int) - the x11 screen number (0, 10, etc)</li>
- <li><strong class="pname"><code>auth_protocol</code></strong> (str) - the name of the X11 authentication method used; if none is given,
- <code>&quot;MIT-MAGIC-COOKIE-1&quot;</code> is used</li>
- <li><strong class="pname"><code>auth_cookie</code></strong> (str) - hexadecimal string containing the x11 auth cookie; if none is
- given, a secure random 128-bit value is generated</li>
- <li><strong class="pname"><code>single_connection</code></strong> (bool) - if True, only a single x11 connection will be forwarded (by
- default, any number of x11 connections can arrive over this
- session)</li>
- <li><strong class="pname"><code>handler</code></strong> (function) - an optional handler to use for incoming X11 connections</li>
- </ul></dd>
- <dt>Returns:</dt>
- <dd>the auth_cookie used</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="resize_pty"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">resize_pty</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">width</span>=<span class="sig-default">80</span>,
- <span class="sig-arg">height</span>=<span class="sig-default">24</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Resize the pseudo-terminal. This can be used to change the width and
- height of the terminal emulation created in a previous <a
- href="paramiko.Channel-class.html#get_pty" class="link">get_pty</a>
- call.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>width</code></strong> (int) - new width (in characters) of the terminal screen</li>
- <li><strong class="pname"><code>height</code></strong> (int) - new height (in characters) of the terminal screen</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request was rejected or the channel was closed</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="send"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">send</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">s</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Send data to the channel. Returns the number of bytes sent, or 0 if
- the channel stream is closed. Applications are responsible for checking
- that all data has been sent: if only some of the data was transmitted,
- the application needs to attempt delivery of the remaining data.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>s</code></strong> (str) - data to send</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>number of bytes actually sent</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>socket.timeout</strong></code> - if no data could be sent before the timeout set by <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="send_exit_status"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">send_exit_status</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">status</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Send the exit status of an executed command to the client. (This
- really only makes sense in server mode.) Many clients expect to get some
- sort of status code back from an executed command after it completes.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>status</code></strong> (int) - the exit code of the process</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.2
- </p>
-</div></td></tr></table>
-</div>
-<a name="send_ready"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">send_ready</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns true if data can be written to this channel without blocking.
- This means the channel is either closed (so any write attempt would
- return immediately) or there is at least one byte of space in the
- outbound buffer. If there is at least one byte of space in the outbound
- buffer, a <a href="paramiko.Channel-class.html#send"
- class="link">send</a> call will succeed immediately and return the number
- of bytes actually written.</p>
- <dl class="fields">
- <dt>Returns: boolean</dt>
- <dd><code>True</code> if a <a href="paramiko.Channel-class.html#send"
- class="link">send</a> call on this channel would immediately
- succeed or fail</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="send_stderr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">send_stderr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">s</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Send data to the channel on the &quot;stderr&quot; stream. This is
- normally only used by servers to send output from shell commands --
- clients won't use this. Returns the number of bytes sent, or 0 if the
- channel stream is closed. Applications are responsible for checking that
- all data has been sent: if only some of the data was transmitted, the
- application needs to attempt delivery of the remaining data.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>s</code></strong> (str) - data to send.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>number of bytes actually sent.</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>socket.timeout</strong></code> - if no data could be sent before the timeout set by <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="sendall"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">sendall</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">s</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Send data to the channel, without allowing partial results. Unlike <a
- href="paramiko.Channel-class.html#send" class="link">send</a>, this
- method continues to send data from the given string until either all data
- has been sent or an error occurs. Nothing is returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>s</code></strong> (str) - data to send.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>socket.timeout</strong></code> - if sending stalled for longer than the timeout set by <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</li>
- <li><code><strong class='fraise'>socket.error</strong></code> - if an error occured before the entire string was sent.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- If the channel is closed while only part of the data hase been
- sent, there is no way to determine how much data (if any) was sent.
- This is irritating, but identically follows python's API.
- </p>
-</div></td></tr></table>
-</div>
-<a name="sendall_stderr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">sendall_stderr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">s</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Send data to the channel's &quot;stderr&quot; stream, without allowing
- partial results. Unlike <a
- href="paramiko.Channel-class.html#send_stderr"
- class="link">send_stderr</a>, this method continues to send data from the
- given string until all data has been sent or an error occurs. Nothing is
- returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>s</code></strong> (str) - data to send to the client as &quot;stderr&quot; output.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>socket.timeout</strong></code> - if sending stalled for longer than the timeout set by <a
- href="paramiko.Channel-class.html#settimeout"
- class="link">settimeout</a>.</li>
- <li><code><strong class='fraise'>socket.error</strong></code> - if an error occured before the entire string was sent.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="set_combine_stderr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_combine_stderr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">combine</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set whether stderr should be combined into stdout on this channel. The
- default is <code>False</code>, but in some cases it may be convenient to
- have both streams combined.</p>
- <p>If this is <code>False</code>, and <a
- href="paramiko.Channel-class.html#exec_command"
- class="link">exec_command</a> is called (or <code>invoke_shell</code>
- with no pty), output to stderr will not show up through the <a
- href="paramiko.Channel-class.html#recv" class="link">recv</a> and <a
- href="paramiko.Channel-class.html#recv_ready" class="link">recv_ready</a>
- calls. You will have to use <a
- href="paramiko.Channel-class.html#recv_stderr"
- class="link">recv_stderr</a> and <a
- href="paramiko.Channel-class.html#recv_stderr_ready"
- class="link">recv_stderr_ready</a> to get stderr output.</p>
- <p>If this is <code>True</code>, data will never show up via <a
- href="paramiko.Channel-class.html#recv_stderr"
- class="link">recv_stderr</a> or <a
- href="paramiko.Channel-class.html#recv_stderr_ready"
- class="link">recv_stderr_ready</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>combine</code></strong> (bool) - <code>True</code> if stderr output should be combined into stdout
- on this channel.</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd>previous setting.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="set_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_name</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">name</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set a name for this channel. Currently it's only used to set the name
- of the channel in logfile entries. The name can be fetched with the <a
- href="paramiko.Channel-class.html#get_name" class="link">get_name</a>
- method.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>name</code></strong> (str) - new channel name</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="setblocking"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">setblocking</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">blocking</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set blocking or non-blocking mode of the channel: if
- <code>blocking</code> is 0, the channel is set to non-blocking mode;
- otherwise it's set to blocking mode. Initially all channels are in
- blocking mode.</p>
- <p>In non-blocking mode, if a <a href="paramiko.Channel-class.html#recv"
- class="link">recv</a> call doesn't find any data, or if a <a
- href="paramiko.Channel-class.html#send" class="link">send</a> call can't
- immediately dispose of the data, an error exception is raised. In
- blocking mode, the calls block until they can proceed. An EOF condition
- is considered &quot;immediate data&quot; for <a
- href="paramiko.Channel-class.html#recv" class="link">recv</a>, so if the
- channel is closed in the read direction, it will never block.</p>
- <p><code>chan.setblocking(0)</code> is equivalent to
- <code>chan.settimeout(0)</code>; <code>chan.setblocking(1)</code> is
- equivalent to <code>chan.settimeout(None)</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>blocking</code></strong> (int) - 0 to set non-blocking mode; non-0 to set blocking mode.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="settimeout"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">settimeout</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">timeout</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set a timeout on blocking read/write operations. The
- <code>timeout</code> argument can be a nonnegative float expressing
- seconds, or <code>None</code>. If a float is given, subsequent channel
- read/write operations will raise a timeout exception if the timeout
- period value has elapsed before the operation has completed. Setting a
- timeout of <code>None</code> disables timeouts on socket operations.</p>
- <p><code>chan.settimeout(0.0)</code> is equivalent to
- <code>chan.setblocking(0)</code>; <code>chan.settimeout(None)</code> is
- equivalent to <code>chan.setblocking(1)</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>timeout</code></strong> (float) - seconds to wait for a pending read/write operation before raising
- <code>socket.timeout</code>, or <code>None</code> for no timeout.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="shutdown"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">shutdown</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">how</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Shut down one or both halves of the connection. If <code>how</code>
- is 0, further receives are disallowed. If <code>how</code> is 1, further
- sends are disallowed. If <code>how</code> is 2, further sends and
- receives are disallowed. This closes the stream in one or both
- directions.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>how</code></strong> (int) - 0 (stop receiving), 1 (stop sending), or 2 (stop receiving and
- sending).</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="shutdown_read"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">shutdown_read</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Shutdown the receiving side of this socket, closing the stream in the
- incoming direction. After this call, future reads on this channel will
- fail instantly. This is a convenience method, equivalent to
- <code>shutdown(0)</code>, for people who don't make it a habit to
- memorize unix constants from the 1970s.</p>
- <dl class="fields">
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.2
- </p>
-</div></td></tr></table>
-</div>
-<a name="shutdown_write"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">shutdown_write</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Shutdown the sending side of this socket, closing the stream in the
- outgoing direction. After this call, future writes on this channel will
- fail instantly. This is a convenience method, equivalent to
- <code>shutdown(1)</code>, for people who don't make it a habit to
- memorize unix constants from the 1970s.</p>
- <dl class="fields">
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.2
- </p>
-</div></td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ChannelException-class.html b/docs/paramiko.ChannelException-class.html
deleted file mode 100644
index 26e4f7d..0000000
--- a/docs/paramiko.ChannelException-class.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ChannelException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;ChannelException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ChannelException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ChannelException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#ChannelException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <a href="paramiko.SSHException-class.html">SSHException</a> --+
- |
- <strong class="uidshort">ChannelException</strong>
-</pre>
-
-<hr />
-<p>Exception raised when an attempt to open a new <a
- href="paramiko.Channel-class.html" class="link">Channel</a> fails.</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.6
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ChannelException-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">code</span>,
- <span class="summary-sig-arg">text</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== INSTANCE VARIABLES ==================== -->
-<a name="section-InstanceVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <a name="code"></a><span class="summary-name">code</span><br />
- the error code returned by the server
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">code</span>,
- <span class="sig-arg">text</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.DSSKey-class.html b/docs/paramiko.DSSKey-class.html
deleted file mode 100644
index 8f44a94..0000000
--- a/docs/paramiko.DSSKey-class.html
+++ /dev/null
@@ -1,750 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.DSSKey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;DSSKey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.DSSKey-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DSSKey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#DSSKey">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <a href="paramiko.PKey-class.html">PKey</a> --+
- |
- <strong class="uidshort">DSSKey</strong>
-</pre>
-
-<hr />
-<p>Representation of a DSS key which can be used to sign an verify SSH2
- data.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#__hash__" class="summary-sig-name">__hash__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- hash(x)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">msg</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">vals</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">file_obj</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a new instance of this public key type.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#can_sign" class="summary-sig-name">can_sign</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return <code>True</code> if this key has the private part necessary
- for signing data.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#get_bits" class="summary-sig-name">get_bits</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the number of significant bits in this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#get_name" class="summary-sig-name">get_name</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the name of this private key implementation.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Message-class.html" class="link">Message</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#sign_ssh_data" class="summary-sig-name">sign_ssh_data</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">rng</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a>
- representing an SSH signature message.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">boolean</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#verify_ssh_sig" class="summary-sig-name">verify_ssh_sig</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>,
- <span class="summary-sig-arg">msg</span>)</span><br />
- Given a blob of data, and an SSH message representing a signature of
- that data, verify that it was signed with this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#write_private_key" class="summary-sig-name">write_private_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">file_obj</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Write private key contents into a file (or file-like) object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#write_private_key_file" class="summary-sig-name">write_private_key_file</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Write private key contents into a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.PKey-class.html">PKey</a></code></b>:
- <code><a href="paramiko.PKey-class.html#__cmp__">__cmp__</a></code>,
- <code><a href="paramiko.PKey-class.html#get_base64">get_base64</a></code>,
- <code><a href="paramiko.PKey-class.html#get_fingerprint">get_fingerprint</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.PKey-class.html">PKey</a></code></b>:
- <code><a href="paramiko.PKey-class.html#from_private_key">from_private_key</a></code>,
- <code><a href="paramiko.PKey-class.html#from_private_key_file">from_private_key_file</a></code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Static Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.DSSKey-class.html" class="link">DSSKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.DSSKey-class.html#generate" class="summary-sig-name">generate</a>(<span class="summary-sig-arg">bits</span>=<span class="summary-sig-default">1024</span>,
- <span class="summary-sig-arg">progress_func</span>=<span class="summary-sig-default">None</span>)</span><br />
- Generate a new private DSS key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#DSSKey.generate">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__hash__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__hash__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Hashing function)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>hash(x)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__hash__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">msg</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">filename</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">vals</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">file_obj</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new instance of this public key type. If <code>msg</code> is
- given, the key's public part(s) will be filled in from the message. If
- <code>data</code> is given, the key's public part(s) will be filled in
- from the string.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>msg</code></strong> - an optional SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> containing a public key of this type.</li>
- <li><strong class="pname"><code>data</code></strong> - an optional string containing a public key of this type</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if a key cannot be created from the <code>data</code> or
- <code>msg</code> given, or no key was passed in.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key. This
- string is suitable for passing to <a
- href="paramiko.AgentKey-class.html#__init__" class="link">__init__</a> to
- re-create the key object later.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>string representation of an SSH key message.</dd>
- <dt>Overrides:
- object.__str__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="can_sign"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">can_sign</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return <code>True</code> if this key has the private part necessary
- for signing data.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd><code>True</code> if this is a private key.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#can_sign">PKey.can_sign</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="generate"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">generate</span>(<span class="sig-arg">bits</span>=<span class="sig-default">1024</span>,
- <span class="sig-arg">progress_func</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Static Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#DSSKey.generate">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Generate a new private DSS key. This factory function can be used to
- generate a new host key or authentication key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>bits</code></strong> (int) - number of bits the generated key should be.</li>
- <li><strong class="pname"><code>progress_func</code></strong> (function) - an optional function to call at key points in key generation
- (used by <code>pyCrypto.PublicKey</code>).</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.DSSKey-class.html" class="link">DSSKey</a></dt>
- <dd>new private key</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_bits"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_bits</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the number of significant bits in this key. This is useful for
- judging the relative security of a key.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>bits in the key.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#get_bits">PKey.get_bits</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_name</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the name of this private key implementation.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>name of this private key type, in SSH terminology (for example,
- <code>&quot;ssh-rsa&quot;</code>).</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#get_name">PKey.get_name</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="sign_ssh_data"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">sign_ssh_data</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">rng</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a> representing
- an SSH signature message.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>rng</code></strong> - a secure random number generator.</li>
- <li><strong class="pname"><code>data</code></strong> - the data to sign.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Message-class.html" class="link">Message</a></dt>
- <dd>an SSH signature message.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#sign_ssh_data">PKey.sign_ssh_data</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="verify_ssh_sig"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_ssh_sig</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">data</span>,
- <span class="sig-arg">msg</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Given a blob of data, and an SSH message representing a signature of
- that data, verify that it was signed with this key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>data</code></strong> - the data that was signed.</li>
- <li><strong class="pname"><code>msg</code></strong> - an SSH signature message</li>
- </ul></dd>
- <dt>Returns: boolean</dt>
- <dd><code>True</code> if the signature verifies correctly;
- <code>False</code> otherwise.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#verify_ssh_sig">PKey.verify_ssh_sig</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="write_private_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_private_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">file_obj</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write private key contents into a file (or file-like) object. If the
- password is not <code>None</code>, the key is encrypted before
- writing.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>file_obj</code></strong> - the file object to write into</li>
- <li><strong class="pname"><code>password</code></strong> - an optional password to use to encrypt the key</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing to the file</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key is invalid</li>
- </ul></dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#write_private_key">PKey.write_private_key</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="write_private_key_file"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_private_key_file</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write private key contents into a file. If the password is not
- <code>None</code>, the key is encrypted before writing.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> - name of the file to write</li>
- <li><strong class="pname"><code>password</code></strong> - an optional password to use to encrypt the key file</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing the file</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key is invalid</li>
- </ul></dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#write_private_key_file">PKey.write_private_key_file</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.HostKeys-class.html b/docs/paramiko.HostKeys-class.html
deleted file mode 100644
index c823af5..0000000
--- a/docs/paramiko.HostKeys-class.html
+++ /dev/null
@@ -1,643 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.HostKeys</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;HostKeys
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.HostKeys-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HostKeys</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#HostKeys">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-UserDict.DictMixin --+
- |
- <strong class="uidshort">HostKeys</strong>
-</pre>
-
-<hr />
-<p>Representation of an openssh-style &quot;known hosts&quot; file. Host
- keys can be read from one or more files, and then individual hosts can be
- looked up to verify server keys during SSH negotiation.</p>
- <p>A HostKeys object can be treated like a dict; any dict lookup is
- equivalent to calling <a href="paramiko.HostKeys-class.html#lookup"
- class="link">lookup</a>.</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.5.3
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__getitem__"></a><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">key</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a new HostKeys object, optionally loading keys from an openssh
- style host-key file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__setitem__"></a><span class="summary-sig-name">__setitem__</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">entry</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">keytype</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Add a host key entry to the table.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#check" class="summary-sig-name">check</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Return True if the given key is associated with the given hostname in
- this dictionary.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#clear" class="summary-sig-name">clear</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Remove all host keys from the dictionary.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="keys"></a><span class="summary-sig-name">keys</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#load" class="summary-sig-name">load</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>)</span><br />
- Read a file of known SSH host keys, in the format used by openssh.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">dict(str, <a href="paramiko.PKey-class.html" class="link">PKey</a>)</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#lookup" class="summary-sig-name">lookup</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>)</span><br />
- Find a hostkey entry for a given hostname or IP.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#save" class="summary-sig-name">save</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>)</span><br />
- Save host keys into a file, in the format used by openssh.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#values" class="summary-sig-name">values</a>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>UserDict.DictMixin</code></b>:
- <code>__cmp__</code>,
- <code>__contains__</code>,
- <code>__iter__</code>,
- <code>__len__</code>,
- <code>__repr__</code>,
- <code>get</code>,
- <code>has_key</code>,
- <code>items</code>,
- <code>iteritems</code>,
- <code>iterkeys</code>,
- <code>itervalues</code>,
- <code>pop</code>,
- <code>popitem</code>,
- <code>setdefault</code>,
- <code>update</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Static Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.HostKeys-class.html#hash_host" class="summary-sig-name">hash_host</a>(<span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">salt</span>=<span class="summary-sig-default">None</span>)</span><br />
- Return a &quot;hashed&quot; form of the hostname, as used by openssh
- when storing hashed hostnames in the known_hosts file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#HostKeys.hash_host">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new HostKeys object, optionally loading keys from an openssh
- style host-key file.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - filename to load host keys from, or <code>None</code></li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">keytype</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a host key entry to the table. Any existing entry for a
- <code>(hostname, keytype)</code> pair will be replaced.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostname</code></strong> (str) - the hostname (or IP) to add</li>
- <li><strong class="pname"><code>keytype</code></strong> (str) - key type (<code>&quot;ssh-rsa&quot;</code> or
- <code>&quot;ssh-dss&quot;</code>)</li>
- <li><strong class="pname"><code>key</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - the key to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return True if the given key is associated with the given hostname in
- this dictionary.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostname</code></strong> (str) - hostname (or IP) of the SSH server</li>
- <li><strong class="pname"><code>key</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - the key to check</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if the key is associated with the hostname;
- <code>False</code> if not</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="clear"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">clear</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Remove all host keys from the dictionary.</p>
- <dl class="fields">
- <dt>Overrides:
- UserDict.DictMixin.clear
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="hash_host"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">hash_host</span>(<span class="sig-arg">hostname</span>,
- <span class="sig-arg">salt</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Static Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#HostKeys.hash_host">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a &quot;hashed&quot; form of the hostname, as used by openssh
- when storing hashed hostnames in the known_hosts file.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostname</code></strong> (str) - the hostname to hash</li>
- <li><strong class="pname"><code>salt</code></strong> (str) - optional salt to use when hashing (must be 20 bytes long)</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>the hashed hostname</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="load"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">load</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read a file of known SSH host keys, in the format used by openssh.
- This type of file unfortunately doesn't exist on Windows, but on posix,
- it will usually be stored in
- <code>os.path.expanduser(&quot;~/.ssh/known_hosts&quot;)</code>.</p>
- <p>If this method is called multiple times, the host keys are merged, not
- cleared. So multiple calls to <code>load</code> will just call <a
- href="paramiko.HostKeys-class.html#add" class="link">add</a>, replacing
- any existing entries and adding new ones.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to read host keys from</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error reading the file</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="lookup"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">lookup</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostname</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Find a hostkey entry for a given hostname or IP. If no entry is
- found, <code>None</code> is returned. Otherwise a dictionary of keytype
- to key is returned. The keytype will be either
- <code>&quot;ssh-rsa&quot;</code> or <code>&quot;ssh-dss&quot;</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostname</code></strong> (str) - the hostname (or IP) to lookup</li>
- </ul></dd>
- <dt>Returns: dict(str, <a href="paramiko.PKey-class.html" class="link">PKey</a>)</dt>
- <dd>keys associated with this host (or <code>None</code>)</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="save"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">save</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Save host keys into a file, in the format used by openssh. The order
- of keys in the file will be preserved when possible (if these keys were
- loaded from a file originally). The single exception is that combined
- lines will be split into individual key lines, which is arguably a
- bug.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to write</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing the file</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.6.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="values"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">values</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
-
- <dl class="fields">
- <dt>Overrides:
- UserDict.DictMixin.values
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.Message-class.html b/docs/paramiko.Message-class.html
deleted file mode 100644
index 6e7d0be..0000000
--- a/docs/paramiko.Message-class.html
+++ /dev/null
@@ -1,1101 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.Message</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;Message
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.Message-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Message</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#Message">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">Message</strong>
-</pre>
-
-<hr />
-<p>An SSH2 <i>Message</i> is a stream of bytes that encodes some
- combination of strings, integers, bools, and infinite-precision integers
- (known in python as <i>long</i>s). This class builds or breaks down such
- a byte stream.</p>
- <p>Normally you don't need to deal with anything this low-level, but it's
- exposed for people implementing custom extensions, or features that
- paramiko doesn't support yet.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">content</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a new SSH2 Message.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns a string representation of this object, for debugging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the byte stream content of this Message, as a string.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">*seq</span>)</span><br />
- Add a sequence of items to the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_boolean" class="summary-sig-name">add_boolean</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">b</span>)</span><br />
- Add a boolean value to the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_byte" class="summary-sig-name">add_byte</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">b</span>)</span><br />
- Write a single byte to the stream, without any formatting.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_bytes" class="summary-sig-name">add_bytes</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">b</span>)</span><br />
- Write bytes to the stream, without any formatting.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_int" class="summary-sig-name">add_int</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">n</span>)</span><br />
- Add an integer to the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_int64" class="summary-sig-name">add_int64</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">n</span>)</span><br />
- Add a 64-bit int to the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_list" class="summary-sig-name">add_list</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">l</span>)</span><br />
- Add a list of strings to the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_mpint" class="summary-sig-name">add_mpint</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">z</span>)</span><br />
- Add a long int to the stream, encoded as an infinite-precision
- integer.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#add_string" class="summary-sig-name">add_string</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">s</span>)</span><br />
- Add a string to the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_boolean" class="summary-sig-name">get_boolean</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Fetch a boolean from the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_byte" class="summary-sig-name">get_byte</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the next byte of the Message, without decomposing it.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_bytes" class="summary-sig-name">get_bytes</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">n</span>)</span><br />
- Return the next <code>n</code> bytes of the Message, without
- decomposing into an int, string, etc.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_int" class="summary-sig-name">get_int</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Fetch an int from the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">long</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_int64" class="summary-sig-name">get_int64</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Fetch a 64-bit int from the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list of strings</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_list" class="summary-sig-name">get_list</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Fetch a list of strings from the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">long</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_mpint" class="summary-sig-name">get_mpint</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Fetch a long int (mpint) from the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_remainder" class="summary-sig-name">get_remainder</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the bytes of this Message that haven't already been parsed and
- returned.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_so_far" class="summary-sig-name">get_so_far</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns the bytes of this Message that have been parsed and returned.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Message-class.html#get_string" class="summary-sig-name">get_string</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Fetch a string from the stream.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="rewind"></a><span class="summary-sig-name">rewind</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Rewind the message to the beginning as if no items had been parsed
- out of it yet.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">content</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new SSH2 Message.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>content</code></strong> (string) - the byte stream to use as the Message content (passed in only
- when decomposing a Message).</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns a string representation of this object, for debugging.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dt>Overrides:
- object.__repr__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the byte stream content of this Message, as a string.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>the contents of this Message.</dd>
- <dt>Overrides:
- object.__str__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="add"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">*seq</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a sequence of items to the stream. The values are encoded based
- on their type: str, int, bool, list, or long.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>seq</code></strong> (sequence) - the sequence of items</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Bug:</strong>
- longs are encoded non-deterministically. Don't use this method.
- </p>
-</div></td></tr></table>
-</div>
-<a name="add_boolean"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_boolean</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">b</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a boolean value to the stream.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>b</code></strong> (bool) - boolean value to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_byte"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_byte</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">b</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write a single byte to the stream, without any formatting.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>b</code></strong> (str) - byte to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_bytes"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_bytes</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">b</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write bytes to the stream, without any formatting.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>b</code></strong> (str) - bytes to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_int"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_int</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">n</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add an integer to the stream.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>n</code></strong> (int) - integer to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_int64"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_int64</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">n</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a 64-bit int to the stream.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>n</code></strong> (long) - long int to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_list"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_list</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">l</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a list of strings to the stream. They are encoded identically to
- a single string of values separated by commas. (Yes, really, that's how
- SSH2 does it.)</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>l</code></strong> (list(str)) - list of strings to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_mpint"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_mpint</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">z</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a long int to the stream, encoded as an infinite-precision
- integer. This method only works on positive numbers.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>z</code></strong> (long) - long int to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_string"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_string</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">s</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a string to the stream.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>s</code></strong> (str) - string to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_boolean"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_boolean</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Fetch a boolean from the stream.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd><code>True</code> or <code>False</code> (from the Message).</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_byte"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_byte</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the next byte of the Message, without decomposing it. This is
- equivalent to <a href="paramiko.Message-class.html#get_bytes"
- class="link">get_bytes(1)</a>.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>the next byte of the Message, or <code>'
- any bytes remaining.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_bytes"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_bytes</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">n</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the next <code>n</code> bytes of the Message, without
- decomposing into an int, string, etc. Just the raw bytes are
- returned.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>a string of the next <code>n</code> bytes of the Message, or a
- string of <code>n</code> zero bytes, if there aren't
- <code>n</code> bytes remaining.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_int"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_int</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Fetch an int from the stream.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>a 32-bit unsigned integer.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_int64"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_int64</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Fetch a 64-bit int from the stream.</p>
- <dl class="fields">
- <dt>Returns: long</dt>
- <dd>a 64-bit unsigned integer.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_list"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_list</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Fetch a list of strings from the stream. These are trivially encoded
- as comma-separated values in a string.</p>
- <dl class="fields">
- <dt>Returns: list of strings</dt>
- <dd>a list of strings.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_mpint"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_mpint</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Fetch a long int (mpint) from the stream.</p>
- <dl class="fields">
- <dt>Returns: long</dt>
- <dd>an arbitrary-length integer.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_remainder"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_remainder</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the bytes of this Message that haven't already been parsed and
- returned.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>a string of the bytes not parsed yet.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_so_far"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_so_far</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns the bytes of this Message that have been parsed and returned.
- The string passed into a Message's constructor can be regenerated by
- concatenating <code>get_so_far</code> and <a
- href="paramiko.Message-class.html#get_remainder"
- class="link">get_remainder</a>.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>a string of the bytes parsed so far.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_string"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_string</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Fetch a string from the stream. This could be a byte string and may
- contain unprintable characters. (It's not unheard of for a string to
- contain another byte-stream Message.)</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>a string.</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.MissingHostKeyPolicy-class.html b/docs/paramiko.MissingHostKeyPolicy-class.html
deleted file mode 100644
index eb51517..0000000
--- a/docs/paramiko.MissingHostKeyPolicy-class.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.MissingHostKeyPolicy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;MissingHostKeyPolicy
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.MissingHostKeyPolicy-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MissingHostKeyPolicy</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#MissingHostKeyPolicy">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">MissingHostKeyPolicy</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li><a href="paramiko.AutoAddPolicy-class.html">AutoAddPolicy</a></li><li>, <a href="paramiko.RejectPolicy-class.html">RejectPolicy</a></li><li>, <a href="paramiko.WarningPolicy-class.html">WarningPolicy</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>Interface for defining the policy that <a
- href="paramiko.SSHClient-class.html" class="link">SSHClient</a> should
- use when the SSH server's hostname is not in either the system host keys
- or the application's keys. Pre-made classes implement policies for
- automatically adding the key to the application's <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a> object (<a
- href="paramiko.AutoAddPolicy-class.html" class="link">AutoAddPolicy</a>),
- and for automatically rejecting the key (<a
- href="paramiko.RejectPolicy-class.html"
- class="link">RejectPolicy</a>).</p>
- <p>This function may be used to ask the user to verify the key, for
- example.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.MissingHostKeyPolicy-class.html#missing_host_key" class="summary-sig-name">missing_host_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">client</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that
- isn't in either the system or local <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a> object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__init__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="missing_host_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">missing_host_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">client</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that isn't
- in either the system or local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object. To accept the key, simply return. To
- reject, raised an exception (which will be passed to the calling
- application).</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.PKey-class.html b/docs/paramiko.PKey-class.html
deleted file mode 100644
index 1759963..0000000
--- a/docs/paramiko.PKey-class.html
+++ /dev/null
@@ -1,857 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.PKey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;PKey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.PKey-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PKey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#PKey">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">PKey</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li><a href="paramiko.AgentKey-class.html">AgentKey</a></li><li>, <a href="paramiko.DSSKey-class.html">DSSKey</a></li><li>, <a href="paramiko.RSAKey-class.html">RSAKey</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>Base class for public keys.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#__cmp__" class="summary-sig-name">__cmp__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">other</span>)</span><br />
- Compare this key to another.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">msg</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a new instance of this public key type.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#can_sign" class="summary-sig-name">can_sign</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return <code>True</code> if this key has the private part necessary
- for signing data.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#get_base64" class="summary-sig-name">get_base64</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a base64 string containing the public part of this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#get_bits" class="summary-sig-name">get_bits</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the number of significant bits in this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#get_fingerprint" class="summary-sig-name">get_fingerprint</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return an MD5 fingerprint of the public part of this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#get_name" class="summary-sig-name">get_name</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the name of this private key implementation.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Message-class.html" class="link">Message</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#sign_ssh_data" class="summary-sig-name">sign_ssh_data</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">rng</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a>
- representing an SSH signature message.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">boolean</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#verify_ssh_sig" class="summary-sig-name">verify_ssh_sig</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>,
- <span class="summary-sig-arg">msg</span>)</span><br />
- Given a blob of data, and an SSH message representing a signature of
- that data, verify that it was signed with this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#write_private_key" class="summary-sig-name">write_private_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">file_obj</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Write private key contents into a file (or file-like) object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#write_private_key_file" class="summary-sig-name">write_private_key_file</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Write private key contents into a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.PKey-class.html" class="link">PKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#from_private_key" class="summary-sig-name">from_private_key</a>(<span class="summary-sig-arg">cls</span>,
- <span class="summary-sig-arg">file_obj</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a key object by reading a private key from a file (or
- file-like) object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#PKey.from_private_key">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.PKey-class.html" class="link">PKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.PKey-class.html#from_private_key_file" class="summary-sig-name">from_private_key_file</a>(<span class="summary-sig-arg">cls</span>,
- <span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a key object by reading a private key file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#PKey.from_private_key_file">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__cmp__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__cmp__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">other</span>)</span>
- <br /><em class="fname">(Comparison operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Compare this key to another. Returns 0 if this key is equivalent to
- the given key, or non-0 if they are different. Only the public parts of
- the key are compared, so a public key will compare equal to its
- corresponding private key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>other</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - key to compare to.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>0 if the two keys are equivalent, non-0 otherwise.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">msg</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new instance of this public key type. If <code>msg</code> is
- given, the key's public part(s) will be filled in from the message. If
- <code>data</code> is given, the key's public part(s) will be filled in
- from the string.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>msg</code></strong> (<a href="paramiko.Message-class.html" class="link">Message</a>) - an optional SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> containing a public key of this type.</li>
- <li><strong class="pname"><code>data</code></strong> (str) - an optional string containing a public key of this type</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if a key cannot be created from the <code>data</code> or
- <code>msg</code> given, or no key was passed in.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key. This
- string is suitable for passing to <a
- href="paramiko.AgentKey-class.html#__init__" class="link">__init__</a> to
- re-create the key object later.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>string representation of an SSH key message.</dd>
- <dt>Overrides:
- object.__str__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="can_sign"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">can_sign</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return <code>True</code> if this key has the private part necessary
- for signing data.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd><code>True</code> if this is a private key.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="from_private_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">from_private_key</span>(<span class="sig-arg">cls</span>,
- <span class="sig-arg">file_obj</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Class Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#PKey.from_private_key">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a key object by reading a private key from a file (or
- file-like) object. If the private key is encrypted and
- <code>password</code> is not <code>None</code>, the given password will
- be used to decrypt the key (otherwise <a
- href="paramiko.PasswordRequiredException-class.html"
- class="link">PasswordRequiredException</a> is thrown).</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>file_obj</code></strong> (file) - the file to read from</li>
- <li><strong class="pname"><code>password</code></strong> (str) - an optional password to use to decrypt the key, if it's encrypted</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.PKey-class.html" class="link">PKey</a></dt>
- <dd>a new key object based on the given private key</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error reading the key</li>
- <li><code><strong class='fraise'><a href="paramiko.PasswordRequiredException-class.html">PasswordRequiredException</a></strong></code> - if the private key file is encrypted, and <code>password</code> is
- <code>None</code></li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key file is invalid</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="from_private_key_file"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">from_private_key_file</span>(<span class="sig-arg">cls</span>,
- <span class="sig-arg">filename</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Class Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#PKey.from_private_key_file">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a key object by reading a private key file. If the private key
- is encrypted and <code>password</code> is not <code>None</code>, the
- given password will be used to decrypt the key (otherwise <a
- href="paramiko.PasswordRequiredException-class.html"
- class="link">PasswordRequiredException</a> is thrown). Through the magic
- of python, this factory method will exist in all subclasses of PKey (such
- as <a href="paramiko.RSAKey-class.html" class="link">RSAKey</a> or <a
- href="paramiko.DSSKey-class.html" class="link">DSSKey</a>), but is
- useless on the abstract PKey class.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to read</li>
- <li><strong class="pname"><code>password</code></strong> (str) - an optional password to use to decrypt the key file, if it's
- encrypted</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.PKey-class.html" class="link">PKey</a></dt>
- <dd>a new key object based on the given private key</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error reading the file</li>
- <li><code><strong class='fraise'><a href="paramiko.PasswordRequiredException-class.html">PasswordRequiredException</a></strong></code> - if the private key file is encrypted, and <code>password</code> is
- <code>None</code></li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key file is invalid</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_base64"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_base64</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a base64 string containing the public part of this key.
- Nothing secret is revealed. This format is compatible with that used to
- store public key files or recognized host keys.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>a base64 string containing the public part of the key.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_bits"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_bits</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the number of significant bits in this key. This is useful for
- judging the relative security of a key.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>bits in the key.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_fingerprint"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_fingerprint</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return an MD5 fingerprint of the public part of this key. Nothing
- secret is revealed.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>a 16-byte string (binary) of the MD5 fingerprint, in SSH format.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_name</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the name of this private key implementation.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>name of this private key type, in SSH terminology (for example,
- <code>&quot;ssh-rsa&quot;</code>).</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="sign_ssh_data"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">sign_ssh_data</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">rng</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a> representing
- an SSH signature message.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>rng</code></strong> (<code class="link">Crypto.Util.rng.RandomPool</code>) - a secure random number generator.</li>
- <li><strong class="pname"><code>data</code></strong> (str) - the data to sign.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Message-class.html" class="link">Message</a></dt>
- <dd>an SSH signature message.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="verify_ssh_sig"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_ssh_sig</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">data</span>,
- <span class="sig-arg">msg</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Given a blob of data, and an SSH message representing a signature of
- that data, verify that it was signed with this key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>data</code></strong> (str) - the data that was signed.</li>
- <li><strong class="pname"><code>msg</code></strong> (<a href="paramiko.Message-class.html" class="link">Message</a>) - an SSH signature message</li>
- </ul></dd>
- <dt>Returns: boolean</dt>
- <dd><code>True</code> if the signature verifies correctly;
- <code>False</code> otherwise.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="write_private_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_private_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">file_obj</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write private key contents into a file (or file-like) object. If the
- password is not <code>None</code>, the key is encrypted before
- writing.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>file_obj</code></strong> (file) - the file object to write into</li>
- <li><strong class="pname"><code>password</code></strong> (str) - an optional password to use to encrypt the key</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing to the file</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key is invalid</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="write_private_key_file"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_private_key_file</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write private key contents into a file. If the password is not
- <code>None</code>, the key is encrypted before writing.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to write</li>
- <li><strong class="pname"><code>password</code></strong> (str) - an optional password to use to encrypt the key file</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing the file</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key is invalid</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.PasswordRequiredException-class.html b/docs/paramiko.PasswordRequiredException-class.html
deleted file mode 100644
index 36c4cde..0000000
--- a/docs/paramiko.PasswordRequiredException-class.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.PasswordRequiredException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;PasswordRequiredException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.PasswordRequiredException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PasswordRequiredException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#PasswordRequiredException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <a href="paramiko.SSHException-class.html">SSHException</a> --+
- |
- <a href="paramiko.AuthenticationException-class.html">AuthenticationException</a> --+
- |
- <strong class="uidshort">PasswordRequiredException</strong>
-</pre>
-
-<hr />
-<p>Exception raised when a password is needed to unlock a private key
- file.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.RSAKey-class.html b/docs/paramiko.RSAKey-class.html
deleted file mode 100644
index 27eeb53..0000000
--- a/docs/paramiko.RSAKey-class.html
+++ /dev/null
@@ -1,750 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.RSAKey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;RSAKey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.RSAKey-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class RSAKey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#RSAKey">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <a href="paramiko.PKey-class.html">PKey</a> --+
- |
- <strong class="uidshort">RSAKey</strong>
-</pre>
-
-<hr />
-<p>Representation of an RSA key which can be used to sign and verify SSH2
- data.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#__hash__" class="summary-sig-name">__hash__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- hash(x)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">msg</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">vals</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">file_obj</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create a new instance of this public key type.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#can_sign" class="summary-sig-name">can_sign</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return <code>True</code> if this key has the private part necessary
- for signing data.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#get_bits" class="summary-sig-name">get_bits</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the number of significant bits in this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#get_name" class="summary-sig-name">get_name</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the name of this private key implementation.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Message-class.html" class="link">Message</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#sign_ssh_data" class="summary-sig-name">sign_ssh_data</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">rpool</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a>
- representing an SSH signature message.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">boolean</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#verify_ssh_sig" class="summary-sig-name">verify_ssh_sig</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>,
- <span class="summary-sig-arg">msg</span>)</span><br />
- Given a blob of data, and an SSH message representing a signature of
- that data, verify that it was signed with this key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#write_private_key" class="summary-sig-name">write_private_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">file_obj</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Write private key contents into a file (or file-like) object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#write_private_key_file" class="summary-sig-name">write_private_key_file</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>)</span><br />
- Write private key contents into a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.PKey-class.html">PKey</a></code></b>:
- <code><a href="paramiko.PKey-class.html#__cmp__">__cmp__</a></code>,
- <code><a href="paramiko.PKey-class.html#get_base64">get_base64</a></code>,
- <code><a href="paramiko.PKey-class.html#get_fingerprint">get_fingerprint</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.PKey-class.html">PKey</a></code></b>:
- <code><a href="paramiko.PKey-class.html#from_private_key">from_private_key</a></code>,
- <code><a href="paramiko.PKey-class.html#from_private_key_file">from_private_key_file</a></code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Static Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.RSAKey-class.html" class="link">RSAKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RSAKey-class.html#generate" class="summary-sig-name">generate</a>(<span class="summary-sig-arg">bits</span>,
- <span class="summary-sig-arg">progress_func</span>=<span class="summary-sig-default">None</span>)</span><br />
- Generate a new private RSA key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#RSAKey.generate">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__hash__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__hash__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Hashing function)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>hash(x)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__hash__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">msg</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">filename</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">vals</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">file_obj</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new instance of this public key type. If <code>msg</code> is
- given, the key's public part(s) will be filled in from the message. If
- <code>data</code> is given, the key's public part(s) will be filled in
- from the string.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>msg</code></strong> - an optional SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> containing a public key of this type.</li>
- <li><strong class="pname"><code>data</code></strong> - an optional string containing a public key of this type</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if a key cannot be created from the <code>data</code> or
- <code>msg</code> given, or no key was passed in.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a string of an SSH <a href="paramiko.Message-class.html"
- class="link">Message</a> made up of the public part(s) of this key. This
- string is suitable for passing to <a
- href="paramiko.AgentKey-class.html#__init__" class="link">__init__</a> to
- re-create the key object later.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>string representation of an SSH key message.</dd>
- <dt>Overrides:
- object.__str__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="can_sign"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">can_sign</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return <code>True</code> if this key has the private part necessary
- for signing data.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd><code>True</code> if this is a private key.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#can_sign">PKey.can_sign</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="generate"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">generate</span>(<span class="sig-arg">bits</span>,
- <span class="sig-arg">progress_func</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Static Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#RSAKey.generate">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Generate a new private RSA key. This factory function can be used to
- generate a new host key or authentication key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>bits</code></strong> (int) - number of bits the generated key should be.</li>
- <li><strong class="pname"><code>progress_func</code></strong> (function) - an optional function to call at key points in key generation
- (used by <code>pyCrypto.PublicKey</code>).</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.RSAKey-class.html" class="link">RSAKey</a></dt>
- <dd>new private key</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_bits"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_bits</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the number of significant bits in this key. This is useful for
- judging the relative security of a key.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>bits in the key.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#get_bits">PKey.get_bits</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_name"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_name</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the name of this private key implementation.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>name of this private key type, in SSH terminology (for example,
- <code>&quot;ssh-rsa&quot;</code>).</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#get_name">PKey.get_name</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="sign_ssh_data"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">sign_ssh_data</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">rpool</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Sign a blob of data with this private key, and return a <a
- href="paramiko.Message-class.html" class="link">Message</a> representing
- an SSH signature message.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>rng</code></strong> - a secure random number generator.</li>
- <li><strong class="pname"><code>data</code></strong> - the data to sign.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Message-class.html" class="link">Message</a></dt>
- <dd>an SSH signature message.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#sign_ssh_data">PKey.sign_ssh_data</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="verify_ssh_sig"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_ssh_sig</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">data</span>,
- <span class="sig-arg">msg</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Given a blob of data, and an SSH message representing a signature of
- that data, verify that it was signed with this key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>data</code></strong> - the data that was signed.</li>
- <li><strong class="pname"><code>msg</code></strong> - an SSH signature message</li>
- </ul></dd>
- <dt>Returns: boolean</dt>
- <dd><code>True</code> if the signature verifies correctly;
- <code>False</code> otherwise.</dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#verify_ssh_sig">PKey.verify_ssh_sig</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="write_private_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_private_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">file_obj</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write private key contents into a file (or file-like) object. If the
- password is not <code>None</code>, the key is encrypted before
- writing.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>file_obj</code></strong> - the file object to write into</li>
- <li><strong class="pname"><code>password</code></strong> - an optional password to use to encrypt the key</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing to the file</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key is invalid</li>
- </ul></dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#write_private_key">PKey.write_private_key</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="write_private_key_file"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write_private_key_file</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write private key contents into a file. If the password is not
- <code>None</code>, the key is encrypted before writing.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> - name of the file to write</li>
- <li><strong class="pname"><code>password</code></strong> - an optional password to use to encrypt the key file</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if there was an error writing the file</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key is invalid</li>
- </ul></dd>
- <dt>Overrides:
- <a href="paramiko.PKey-class.html#write_private_key_file">PKey.write_private_key_file</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.RejectPolicy-class.html b/docs/paramiko.RejectPolicy-class.html
deleted file mode 100644
index d5a9747..0000000
--- a/docs/paramiko.RejectPolicy-class.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.RejectPolicy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;RejectPolicy
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.RejectPolicy-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class RejectPolicy</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#RejectPolicy">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-<a href="paramiko.MissingHostKeyPolicy-class.html">MissingHostKeyPolicy</a> --+
- |
- <strong class="uidshort">RejectPolicy</strong>
-</pre>
-
-<hr />
-<p>Policy for automatically rejecting the unknown hostname &amp; key.
- This is used by <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.RejectPolicy-class.html#missing_host_key" class="summary-sig-name">missing_host_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">client</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that
- isn't in either the system or local <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a> object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__init__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="missing_host_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">missing_host_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">client</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that isn't
- in either the system or local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object. To accept the key, simply return. To
- reject, raised an exception (which will be passed to the calling
- application).</p>
- <dl class="fields">
- <dt>Overrides:
- <a href="paramiko.MissingHostKeyPolicy-class.html#missing_host_key">MissingHostKeyPolicy.missing_host_key</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTP-class.html b/docs/paramiko.SFTP-class.html
deleted file mode 100644
index 35767af..0000000
--- a/docs/paramiko.SFTP-class.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTP</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTP
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTP-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTP</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTP">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- BaseSFTP --+
- |
- <a href="paramiko.SFTPClient-class.html">SFTPClient</a> --+
- |
- <strong class="uidshort">SFTP</strong>
-</pre>
-
-<hr />
-<p>an alias for <a href="paramiko.SFTPClient-class.html"
- class="link">SFTPClient</a> for backwards compatability</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.SFTPClient-class.html">SFTPClient</a></code></b>:
- <code><a href="paramiko.SFTPClient-class.html#__init__">__init__</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#chdir">chdir</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#chmod">chmod</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#chown">chown</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#close">close</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#file">file</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#get">get</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#get_channel">get_channel</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#getcwd">getcwd</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#listdir">listdir</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#listdir_attr">listdir_attr</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#lstat">lstat</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#mkdir">mkdir</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#normalize">normalize</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#open">open</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#put">put</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#readlink">readlink</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#remove">remove</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#rename">rename</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#rmdir">rmdir</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#stat">stat</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#symlink">symlink</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#truncate">truncate</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#unlink">unlink</a></code>,
- <code><a href="paramiko.SFTPClient-class.html#utime">utime</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.SFTPClient-class.html">SFTPClient</a></code></b>:
- <code><a href="paramiko.SFTPClient-class.html#from_transport">from_transport</a></code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPAttributes-class.html b/docs/paramiko.SFTPAttributes-class.html
deleted file mode 100644
index 0724b9b..0000000
--- a/docs/paramiko.SFTPAttributes-class.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPAttributes</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPAttributes
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPAttributes-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPAttributes</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPAttributes">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">SFTPAttributes</strong>
-</pre>
-
-<hr />
-<p>Representation of the attributes of a file (or proxied file) for SFTP
- in client or server mode. It attemps to mirror the object returned by
- <code>os.stat</code> as closely as possible, so it may have the following
- fields, with the same meanings as those returned by an
- <code>os.stat</code> object:</p>
- <ul>
- <li>
- st_size
- </li>
- <li>
- st_uid
- </li>
- <li>
- st_gid
- </li>
- <li>
- st_mode
- </li>
- <li>
- st_atime
- </li>
- <li>
- st_mtime
- </li>
- </ul>
- <p>Because SFTP allows flags to have other arbitrary named attributes,
- these are stored in a dict named <code>attr</code>. Occasionally, the
- filename is also stored, in <code>filename</code>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPAttributes-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Create a new (empty) SFTPAttributes object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPAttributes-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- repr(x)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPAttributes-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- create a unix-style long description of the file (like ls -l)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPAttributes-class.html#from_stat" class="summary-sig-name">from_stat</a>(<span class="summary-sig-arg">cls</span>,
- <span class="summary-sig-arg">obj</span>,
- <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
- Create an SFTPAttributes object from an existing <code>stat</code>
- object (an object returned by <code>os.stat</code>).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#SFTPAttributes.from_stat">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_AMTIME"></a><span class="summary-name">FLAG_AMTIME</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_EXTENDED"></a><span class="summary-name">FLAG_EXTENDED</span> = <code title="2147483648">2147483648</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_PERMISSIONS"></a><span class="summary-name">FLAG_PERMISSIONS</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_SIZE"></a><span class="summary-name">FLAG_SIZE</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="FLAG_UIDGID"></a><span class="summary-name">FLAG_UIDGID</span> = <code title="2">2</code>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new (empty) SFTPAttributes object. All fields will be
- empty.</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>repr(x)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__repr__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>create a unix-style long description of the file (like ls -l)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__str__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="from_stat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">from_stat</span>(<span class="sig-arg">cls</span>,
- <span class="sig-arg">obj</span>,
- <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Class Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#SFTPAttributes.from_stat">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create an SFTPAttributes object from an existing <code>stat</code>
- object (an object returned by <code>os.stat</code>).</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>obj</code></strong> (object) - an object returned by <code>os.stat</code> (or equivalent).</li>
- <li><strong class="pname"><code>filename</code></strong> (str) - the filename associated with this file.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a></dt>
- <dd>new <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object with the same attribute
- fields.</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPClient-class.html b/docs/paramiko.SFTPClient-class.html
deleted file mode 100644
index d6b7abd..0000000
--- a/docs/paramiko.SFTPClient-class.html
+++ /dev/null
@@ -1,1536 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPClient</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPClient
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPClient-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPClient</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPClient">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- BaseSFTP --+
- |
- <strong class="uidshort">SFTPClient</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li><a href="paramiko.SFTP-class.html">SFTP</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>SFTP client object. <code>SFTPClient</code> is used to open an sftp
- session across an open ssh <a href="paramiko.Transport-class.html"
- class="link">Transport</a> and do remote file operations.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">sock</span>)</span><br />
- Create an SFTP client from an existing <a
- href="paramiko.Channel-class.html" class="link">Channel</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#chdir" class="summary-sig-name">chdir</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Change the &quot;current directory&quot; of this SFTP session.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#chmod" class="summary-sig-name">chmod</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">mode</span>)</span><br />
- Change the mode (permissions) of a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#chown" class="summary-sig-name">chown</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">uid</span>,
- <span class="summary-sig-arg">gid</span>)</span><br />
- Change the owner (<code>uid</code>) and group (<code>gid</code>) of a
- file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Close the SFTP session and its underlying channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">SFTPFile</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#file" class="summary-sig-name">file</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">bufsize</span>=<span class="summary-sig-default">-1</span>)</span><br />
- Open a file on the remote server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#get" class="summary-sig-name">get</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">remotepath</span>,
- <span class="summary-sig-arg">localpath</span>,
- <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>)</span><br />
- Copy a remote file (<code>remotepath</code>) from the SFTP server to
- the local host as <code>localpath</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Channel-class.html" class="link">Channel</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#get_channel" class="summary-sig-name">get_channel</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the underlying <a href="paramiko.Channel-class.html"
- class="link">Channel</a> object for this SFTP session.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#getcwd" class="summary-sig-name">getcwd</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the &quot;current working directory&quot; for this SFTP
- session, as emulated by paramiko.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list of str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#listdir" class="summary-sig-name">listdir</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>)</span><br />
- Return a list containing the names of the entries in the given
- <code>path</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list of <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#listdir_attr" class="summary-sig-name">listdir_attr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>)</span><br />
- Return a list containing <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> objects corresponding to files in the
- given <code>path</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">SFTPAttributes</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#lstat" class="summary-sig-name">lstat</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Retrieve information about a file on the remote system, without
- following symbolic links (shortcuts).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#mkdir" class="summary-sig-name">mkdir</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default">511</span>)</span><br />
- Create a folder (directory) named <code>path</code> with numeric mode
- <code>mode</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#normalize" class="summary-sig-name">normalize</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return the normalized path (on the server) of a given path.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">SFTPFile</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#open" class="summary-sig-name">open</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">bufsize</span>=<span class="summary-sig-default">-1</span>)</span><br />
- Open a file on the remote server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">SFTPAttributes</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#put" class="summary-sig-name">put</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">localpath</span>,
- <span class="summary-sig-arg">remotepath</span>,
- <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">confirm</span>=<span class="summary-sig-default">True</span>)</span><br />
- Copy a local file (<code>localpath</code>) to the SFTP server as
- <code>remotepath</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#readlink" class="summary-sig-name">readlink</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return the target of a symbolic link (shortcut).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#remove" class="summary-sig-name">remove</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Remove the file at the given path.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#rename" class="summary-sig-name">rename</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">oldpath</span>,
- <span class="summary-sig-arg">newpath</span>)</span><br />
- Rename a file or folder from <code>oldpath</code> to
- <code>newpath</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#rmdir" class="summary-sig-name">rmdir</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Remove the folder named <code>path</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">SFTPAttributes</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#stat" class="summary-sig-name">stat</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Retrieve information about a file on the remote system.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#symlink" class="summary-sig-name">symlink</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">source</span>,
- <span class="summary-sig-arg">dest</span>)</span><br />
- Create a symbolic link (shortcut) of the <code>source</code> path at
- <code>destination</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#truncate" class="summary-sig-name">truncate</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">size</span>)</span><br />
- Change the size of the file specified by <code>path</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#unlink" class="summary-sig-name">unlink</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Remove the file at the given path.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#utime" class="summary-sig-name">utime</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">times</span>)</span><br />
- Set the access and modified times of the file specified by
- <code>path</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPClient-class.html" class="link">SFTPClient</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPClient-class.html#from_transport" class="summary-sig-name">from_transport</a>(<span class="summary-sig-arg">cls</span>,
- <span class="summary-sig-arg">t</span>)</span><br />
- Create an SFTP client channel from an open <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#SFTPClient.from_transport">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">sock</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create an SFTP client from an existing <a
- href="paramiko.Channel-class.html" class="link">Channel</a>. The channel
- should already have requested the <code>&quot;sftp&quot;</code>
- subsystem.</p>
- <p>An alternate way to create an SFTP client context is by using <a
- href="paramiko.SFTPClient-class.html#from_transport"
- class="link">from_transport</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>sock</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - an open <a href="paramiko.Channel-class.html"
- class="link">Channel</a> using the <code>&quot;sftp&quot;</code>
- subsystem</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if there's an exception while negotiating sftp</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="chdir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chdir</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the &quot;current directory&quot; of this SFTP session. Since
- SFTP doesn't really have the concept of a current working directory, this
- is emulated by paramiko. Once you use this method to set a working
- directory, all operations on this SFTPClient object will be relative to
- that path. You can pass in <code>None</code> to stop using a current
- working directory.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - new current working directory</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the requested path doesn't exist on the server</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="chmod"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chmod</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">mode</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the mode (permissions) of a file. The permissions are
- unix-style and identical to those used by python's <code>os.chmod</code>
- function.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path of the file to change the permissions of</li>
- <li><strong class="pname"><code>mode</code></strong> (int) - new permissions</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="chown"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chown</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">uid</span>,
- <span class="sig-arg">gid</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the owner (<code>uid</code>) and group (<code>gid</code>) of a
- file. As with python's <code>os.chown</code> function, you must pass
- both arguments, so if you only want to change one, use <a
- href="paramiko.SFTPClient-class.html#stat" class="link">stat</a> first to
- retrieve the current owner and group.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path of the file to change the owner and group of</li>
- <li><strong class="pname"><code>uid</code></strong> (int) - new owner's uid</li>
- <li><strong class="pname"><code>gid</code></strong> (int) - new group id</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Close the SFTP session and its underlying channel.</p>
- <dl class="fields">
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="file"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">file</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>,
- <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">bufsize</span>=<span class="sig-default">-1</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Open a file on the remote server. The arguments are the same as for
- python's built-in <code>file</code> (aka <code>open</code>). A file-like
- object is returned, which closely mimics the behavior of a normal python
- file object.</p>
- <p>The mode indicates how the file is to be opened: <code>'r'</code> for
- reading, <code>'w'</code> for writing (truncating an existing file),
- <code>'a'</code> for appending, <code>'r+'</code> for reading/writing,
- <code>'w+'</code> for reading/writing (truncating an existing file),
- <code>'a+'</code> for reading/appending. The python <code>'b'</code>
- flag is ignored, since SSH treats all files as binary. The
- <code>'U'</code> flag is supported in a compatible way.</p>
- <p>Since 1.5.2, an <code>'x'</code> flag indicates that the operation
- should only succeed if the file was created and did not previously exist.
- This has no direct mapping to python's file flags, but is commonly known
- as the <code>O_EXCL</code> flag in posix.</p>
- <p>The file will be buffered in standard python style by default, but can
- be altered with the <code>bufsize</code> parameter. <code>0</code> turns
- off buffering, <code>1</code> uses line buffering, and any number greater
- than 1 (<code>&gt;1</code>) uses that specific buffer size.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to open</li>
- <li><strong class="pname"><code>mode</code></strong> (str) - mode (python-style) to open in</li>
- <li><strong class="pname"><code>bufsize</code></strong> (int) - desired buffering (-1 = default buffer size)</li>
- </ul></dd>
- <dt>Returns: SFTPFile</dt>
- <dd>a file object representing the open file</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the file could not be opened.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="from_transport"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">from_transport</span>(<span class="sig-arg">cls</span>,
- <span class="sig-arg">t</span>)</span>
- <br /><em class="fname">Class Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#SFTPClient.from_transport">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create an SFTP client channel from an open <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>t</code></strong> (<a href="paramiko.Transport-class.html"
- class="link">Transport</a>) - an open <a href="paramiko.Transport-class.html"
- class="link">Transport</a> which is already authenticated</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.SFTPClient-class.html" class="link">SFTPClient</a></dt>
- <dd>a new <a href="paramiko.SFTPClient-class.html"
- class="link">SFTPClient</a> object, referring to an sftp session
- (channel) across the transport</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">remotepath</span>,
- <span class="sig-arg">localpath</span>,
- <span class="sig-arg">callback</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Copy a remote file (<code>remotepath</code>) from the SFTP server to
- the local host as <code>localpath</code>. Any exception raised by
- operations will be passed through. This method is primarily provided as
- a convenience.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>remotepath</code></strong> (str) - the remote file to copy</li>
- <li><strong class="pname"><code>localpath</code></strong> (str) - the destination path on the local host</li>
- <li><strong class="pname"><code>callback</code></strong> (function(int, int)) - optional callback function that accepts the bytes transferred so
- far and the total bytes to be transferred (since 1.7.4)</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_channel</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the underlying <a href="paramiko.Channel-class.html"
- class="link">Channel</a> object for this SFTP session. This might be
- useful for doing things like setting a timeout on the channel.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.Channel-class.html" class="link">Channel</a></dt>
- <dd>the SSH channel</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.7.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="getcwd"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">getcwd</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the &quot;current working directory&quot; for this SFTP
- session, as emulated by paramiko. If no directory has been set with <a
- href="paramiko.SFTPClient-class.html#chdir" class="link">chdir</a>, this
- method will return <code>None</code>.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>the current working directory on the server, or <code>None</code></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="listdir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">listdir</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a list containing the names of the entries in the given
- <code>path</code>. The list is in arbitrary order. It does not include
- the special entries <code>'.'</code> and <code>'..'</code> even if they
- are present in the folder. This method is meant to mirror
- <code>os.listdir</code> as closely as possible. For a list of full <a
- href="paramiko.SFTPAttributes-class.html" class="link">SFTPAttributes</a>
- objects, see <a href="paramiko.SFTPClient-class.html#listdir_attr"
- class="link">listdir_attr</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path to list (defaults to <code>'.'</code>)</li>
- </ul></dd>
- <dt>Returns: list of str</dt>
- <dd>list of filenames</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="listdir_attr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">listdir_attr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a list containing <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> objects corresponding to files in the
- given <code>path</code>. The list is in arbitrary order. It does not
- include the special entries <code>'.'</code> and <code>'..'</code> even
- if they are present in the folder.</p>
- <p>The returned <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> objects will each have an additional
- field: <code>longname</code>, which may contain a formatted string of the
- file's attributes, in unix format. The content of this string will
- probably depend on the SFTP server implementation.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path to list (defaults to <code>'.'</code>)</li>
- </ul></dd>
- <dt>Returns: list of <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a></dt>
- <dd>list of attributes</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.2
- </p>
-</div></td></tr></table>
-</div>
-<a name="lstat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">lstat</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Retrieve information about a file on the remote system, without
- following symbolic links (shortcuts). This otherwise behaves exactly the
- same as <a href="paramiko.SFTPClient-class.html#stat"
- class="link">stat</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the filename to stat</li>
- </ul></dd>
- <dt>Returns: SFTPAttributes</dt>
- <dd>an object containing attributes about the given file</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="mkdir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">mkdir</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">mode</span>=<span class="sig-default">511</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a folder (directory) named <code>path</code> with numeric mode
- <code>mode</code>. The default mode is 0777 (octal). On some systems,
- mode is ignored. Where it is used, the current umask value is first
- masked out.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - name of the folder to create</li>
- <li><strong class="pname"><code>mode</code></strong> (int) - permissions (posix-style) for the newly-created folder</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="normalize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">normalize</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the normalized path (on the server) of a given path. This can
- be used to quickly resolve symbolic links or determine what the server is
- considering to be the &quot;current folder&quot; (by passing
- <code>'.'</code> as <code>path</code>).</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path to be normalized</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>normalized form of the given path</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the path can't be resolved on the server</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>,
- <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">bufsize</span>=<span class="sig-default">-1</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Open a file on the remote server. The arguments are the same as for
- python's built-in <code>file</code> (aka <code>open</code>). A file-like
- object is returned, which closely mimics the behavior of a normal python
- file object.</p>
- <p>The mode indicates how the file is to be opened: <code>'r'</code> for
- reading, <code>'w'</code> for writing (truncating an existing file),
- <code>'a'</code> for appending, <code>'r+'</code> for reading/writing,
- <code>'w+'</code> for reading/writing (truncating an existing file),
- <code>'a+'</code> for reading/appending. The python <code>'b'</code>
- flag is ignored, since SSH treats all files as binary. The
- <code>'U'</code> flag is supported in a compatible way.</p>
- <p>Since 1.5.2, an <code>'x'</code> flag indicates that the operation
- should only succeed if the file was created and did not previously exist.
- This has no direct mapping to python's file flags, but is commonly known
- as the <code>O_EXCL</code> flag in posix.</p>
- <p>The file will be buffered in standard python style by default, but can
- be altered with the <code>bufsize</code> parameter. <code>0</code> turns
- off buffering, <code>1</code> uses line buffering, and any number greater
- than 1 (<code>&gt;1</code>) uses that specific buffer size.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to open</li>
- <li><strong class="pname"><code>mode</code></strong> (str) - mode (python-style) to open in</li>
- <li><strong class="pname"><code>bufsize</code></strong> (int) - desired buffering (-1 = default buffer size)</li>
- </ul></dd>
- <dt>Returns: SFTPFile</dt>
- <dd>a file object representing the open file</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the file could not be opened.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="put"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">put</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">localpath</span>,
- <span class="sig-arg">remotepath</span>,
- <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">confirm</span>=<span class="sig-default">True</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Copy a local file (<code>localpath</code>) to the SFTP server as
- <code>remotepath</code>. Any exception raised by operations will be
- passed through. This method is primarily provided as a convenience.</p>
- <p>The SFTP operations use pipelining for speed.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>localpath</code></strong> (str) - the local file to copy</li>
- <li><strong class="pname"><code>remotepath</code></strong> (str) - the destination path on the SFTP server</li>
- <li><strong class="pname"><code>callback</code></strong> (function(int, int)) - optional callback function that accepts the bytes transferred so
- far and the total bytes to be transferred (since 1.7.4)</li>
- <li><strong class="pname"><code>confirm</code></strong> (bool) - whether to do a stat() on the file afterwards to confirm the file
- size (since 1.7.7)</li>
- </ul></dd>
- <dt>Returns: SFTPAttributes</dt>
- <dd>an object containing attributes about the given file (since
- 1.7.4)</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="readlink"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">readlink</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the target of a symbolic link (shortcut). You can use <a
- href="paramiko.SFTPClient-class.html#symlink" class="link">symlink</a> to
- create these. The result may be either an absolute or relative
- pathname.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path of the symbolic link file</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>target path</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="remove"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">remove</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Remove the file at the given path. This only works on files; for
- removing folders (directories), use <a
- href="paramiko.SFTPClient-class.html#rmdir" class="link">rmdir</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path (absolute or relative) of the file to remove</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the path refers to a folder (directory)</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="rename"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">rename</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">oldpath</span>,
- <span class="sig-arg">newpath</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Rename a file or folder from <code>oldpath</code> to
- <code>newpath</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>oldpath</code></strong> (str) - existing name of the file or folder</li>
- <li><strong class="pname"><code>newpath</code></strong> (str) - new name for the file or folder</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if <code>newpath</code> is a folder, or something else goes wrong</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="rmdir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">rmdir</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Remove the folder named <code>path</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - name of the folder to remove</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="stat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">stat</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Retrieve information about a file on the remote system. The return
- value is an object whose attributes correspond to the attributes of
- python's <code>stat</code> structure as returned by <code>os.stat</code>,
- except that it contains fewer fields. An SFTP server may return as much
- or as little info as it wants, so the results may vary from server to
- server.</p>
- <p>Unlike a python <code>stat</code> object, the result may not be
- accessed as a tuple. This is mostly due to the author's slack
- factor.</p>
- <p>The fields supported are: <code>st_mode</code>, <code>st_size</code>,
- <code>st_uid</code>, <code>st_gid</code>, <code>st_atime</code>, and
- <code>st_mtime</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the filename to stat</li>
- </ul></dd>
- <dt>Returns: SFTPAttributes</dt>
- <dd>an object containing attributes about the given file</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="symlink"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">symlink</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">source</span>,
- <span class="sig-arg">dest</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a symbolic link (shortcut) of the <code>source</code> path at
- <code>destination</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>source</code></strong> (str) - path of the original file</li>
- <li><strong class="pname"><code>dest</code></strong> (str) - path of the newly created symlink</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="truncate"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">truncate</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">size</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the size of the file specified by <code>path</code>. This
- usually extends or shrinks the size of the file, just like the
- <code>truncate()</code> method on python file objects.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path of the file to modify</li>
- <li><strong class="pname"><code>size</code></strong> (int or long) - the new size of the file</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="unlink"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">unlink</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Remove the file at the given path. This only works on files; for
- removing folders (directories), use <a
- href="paramiko.SFTPClient-class.html#rmdir" class="link">rmdir</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path (absolute or relative) of the file to remove</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the path refers to a folder (directory)</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="utime"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">utime</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">times</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the access and modified times of the file specified by
- <code>path</code>. If <code>times</code> is <code>None</code>, then the
- file's access and modified times are set to the current time. Otherwise,
- <code>times</code> must be a 2-tuple of numbers, of the form
- <code>(atime, mtime)</code>, which is used to set the access and modified
- times, respectively. This bizarre API is mimicked from python for the
- sake of consistency -- I apologize.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path of the file to modify</li>
- <li><strong class="pname"><code>times</code></strong> (tuple(int)) - <code>None</code> or a tuple of (access time, modified time) in
- standard internet epoch time (seconds since 01 January 1970 GMT)</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPError-class.html b/docs/paramiko.SFTPError-class.html
deleted file mode 100644
index db75cdf..0000000
--- a/docs/paramiko.SFTPError-class.html
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPError</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPError
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPError-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPError</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPError">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <strong class="uidshort">SFTPError</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPFile-class.html b/docs/paramiko.SFTPFile-class.html
deleted file mode 100644
index 8485072..0000000
--- a/docs/paramiko.SFTPFile-class.html
+++ /dev/null
@@ -1,1011 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPFile</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPFile
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPFile-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPFile</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPFile">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-<a href="paramiko.BufferedFile-class.html">BufferedFile</a> --+
- |
- <strong class="uidshort">SFTPFile</strong>
-</pre>
-
-<hr />
-<p>Proxy object for a file on the remote server, in client mode SFTP.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#__del__" class="summary-sig-name">__del__</a>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">sftp</span>,
- <span class="summary-sig-arg">handle</span>,
- <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">bufsize</span>=<span class="summary-sig-default">-1</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#check" class="summary-sig-name">check</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hash_algorithm</span>,
- <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">0</span>,
- <span class="summary-sig-arg">length</span>=<span class="summary-sig-default">0</span>,
- <span class="summary-sig-arg">block_size</span>=<span class="summary-sig-default">0</span>)</span><br />
- Ask the server for a hash of a section of this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#chmod" class="summary-sig-name">chmod</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">mode</span>)</span><br />
- Change the mode (permissions) of this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#chown" class="summary-sig-name">chown</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">uid</span>,
- <span class="summary-sig-arg">gid</span>)</span><br />
- Change the owner (<code>uid</code>) and group (<code>gid</code>) of
- this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Close the file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">float</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#gettimeout" class="summary-sig-name">gettimeout</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns the timeout in seconds (as a float) associated with the
- socket or ssh <a href="paramiko.Channel-class.html"
- class="link">Channel</a> used for this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#prefetch" class="summary-sig-name">prefetch</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Pre-fetch the remaining contents of this file in anticipation of
- future <a href="paramiko.BufferedFile-class.html#read"
- class="link">read</a> calls.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list(str)</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#readv" class="summary-sig-name">readv</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">chunks</span>)</span><br />
- Read a set of blocks from the file by (offset, length).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#seek" class="summary-sig-name">seek</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">offset</span>,
- <span class="summary-sig-arg">whence</span>=<span class="summary-sig-default">0</span>)</span><br />
- Set the file's current position, like stdio's <code>fseek</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#set_pipelined" class="summary-sig-name">set_pipelined</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">pipelined</span>=<span class="summary-sig-default">True</span>)</span><br />
- Turn on/off the pipelining of write operations to this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#setblocking" class="summary-sig-name">setblocking</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">blocking</span>)</span><br />
- Set blocking or non-blocking mode on the underiying socket or ssh <a
- href="paramiko.Channel-class.html" class="link">Channel</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#settimeout" class="summary-sig-name">settimeout</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">timeout</span>)</span><br />
- Set a timeout on read/write operations on the underlying socket or
- ssh <a href="paramiko.Channel-class.html" class="link">Channel</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">SFTPAttributes</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#stat" class="summary-sig-name">stat</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Retrieve information about this file from the remote system.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#truncate" class="summary-sig-name">truncate</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">size</span>)</span><br />
- Change the size of this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#utime" class="summary-sig-name">utime</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">times</span>)</span><br />
- Set the access and modified times of this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.BufferedFile-class.html">BufferedFile</a></code></b>:
- <code><a href="paramiko.BufferedFile-class.html#__iter__">__iter__</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#flush">flush</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#next">next</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#read">read</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#readline">readline</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#readlines">readlines</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#tell">tell</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#write">write</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#writelines">writelines</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#xreadlines">xreadlines</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MAX_REQUEST_SIZE"></a><span class="summary-name">MAX_REQUEST_SIZE</span> = <code title="32768">32768</code>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.BufferedFile-class.html">BufferedFile</a></code></b>:
- <code><a href="paramiko.BufferedFile-class.html#FLAG_APPEND">FLAG_APPEND</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_BINARY">FLAG_BINARY</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_BUFFERED">FLAG_BUFFERED</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED">FLAG_LINE_BUFFERED</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_READ">FLAG_READ</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE">FLAG_UNIVERSAL_NEWLINE</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_WRITE">FLAG_WRITE</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#SEEK_CUR">SEEK_CUR</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#SEEK_END">SEEK_END</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#SEEK_SET">SEEK_SET</a></code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__del__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__del__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Destructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
-
- <dl class="fields">
- <dt>Overrides:
- <a href="paramiko.BufferedFile-class.html#__del__">BufferedFile.__del__</a>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">sftp</span>,
- <span class="sig-arg">handle</span>,
- <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">bufsize</span>=<span class="sig-default">-1</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="check"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hash_algorithm</span>,
- <span class="sig-arg">offset</span>=<span class="sig-default">0</span>,
- <span class="sig-arg">length</span>=<span class="sig-default">0</span>,
- <span class="sig-arg">block_size</span>=<span class="sig-default">0</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Ask the server for a hash of a section of this file. This can be used
- to verify a successful upload or download, or for various rsync-like
- operations.</p>
- <p>The file is hashed from <code>offset</code>, for <code>length</code>
- bytes. If <code>length</code> is 0, the remainder of the file is hashed.
- Thus, if both <code>offset</code> and <code>length</code> are zero, the
- entire file is hashed.</p>
- <p>Normally, <code>block_size</code> will be 0 (the default), and this
- method will return a byte string representing the requested hash (for
- example, a string of length 16 for MD5, or 20 for SHA-1). If a non-zero
- <code>block_size</code> is given, each chunk of the file (from
- <code>offset</code> to <code>offset + length</code>) of
- <code>block_size</code> bytes is computed as a separate hash. The hash
- results are all concatenated and returned as a single string.</p>
- <p>For example, <code>check('sha1', 0, 1024, 512)</code> will return a
- string of length 40. The first 20 bytes will be the SHA-1 of the first
- 512 bytes of the file, and the last 20 bytes will be the SHA-1 of the
- next 512 bytes.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hash_algorithm</code></strong> (str) - the name of the hash algorithm to use (normally
- <code>&quot;sha1&quot;</code> or <code>&quot;md5&quot;</code>)</li>
- <li><strong class="pname"><code>offset</code></strong> (int or long) - offset into the file to begin hashing (0 means to start from the
- beginning)</li>
- <li><strong class="pname"><code>length</code></strong> (int or long) - number of bytes to hash (0 means continue to the end of the file)</li>
- <li><strong class="pname"><code>block_size</code></strong> (int) - number of bytes to hash per result (must not be less than 256; 0
- means to compute only one hash of the entire segment)</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>string of bytes representing the hash of each block, concatenated
- together</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the server doesn't support the &quot;check-file&quot; extension,
- or possibly doesn't support the hash algorithm requested</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- Many (most?) servers don't support this extension yet.
- </p>
- <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="chmod"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chmod</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">mode</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the mode (permissions) of this file. The permissions are
- unix-style and identical to those used by python's <code>os.chmod</code>
- function.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>mode</code></strong> (int) - new permissions</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="chown"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chown</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">uid</span>,
- <span class="sig-arg">gid</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the owner (<code>uid</code>) and group (<code>gid</code>) of
- this file. As with python's <code>os.chown</code> function, you must
- pass both arguments, so if you only want to change one, use <a
- href="paramiko.SFTPFile-class.html#stat" class="link">stat</a> first to
- retrieve the current owner and group.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>uid</code></strong> (int) - new owner's uid</li>
- <li><strong class="pname"><code>gid</code></strong> (int) - new group id</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Close the file. Future read and write operations will fail.</p>
- <dl class="fields">
- <dt>Overrides:
- <a href="paramiko.BufferedFile-class.html#close">BufferedFile.close</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="gettimeout"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">gettimeout</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns the timeout in seconds (as a float) associated with the socket
- or ssh <a href="paramiko.Channel-class.html" class="link">Channel</a>
- used for this file.</p>
- <dl class="fields">
- <dt>Returns: float</dt>
- </dl>
-<div class="fields"> <p><strong>See Also:</strong>
- <a href="paramiko.Channel-class.html#gettimeout"
- class="link">Channel.gettimeout</a>
- </p>
-</div></td></tr></table>
-</div>
-<a name="prefetch"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">prefetch</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Pre-fetch the remaining contents of this file in anticipation of
- future <a href="paramiko.BufferedFile-class.html#read"
- class="link">read</a> calls. If reading the entire file, pre-fetching
- can dramatically improve the download speed by avoiding roundtrip
- latency. The file's contents are incrementally buffered in a background
- thread.</p>
- <p>The prefetched data is stored in a buffer until read via the <a
- href="paramiko.BufferedFile-class.html#read" class="link">read</a>
- method. Once data has been read, it's removed from the buffer. The data
- may be read in a random order (using <a
- href="paramiko.SFTPFile-class.html#seek" class="link">seek</a>); chunks
- of the buffer that haven't been read will continue to be buffered.</p>
- <dl class="fields">
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="readv"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">readv</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">chunks</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read a set of blocks from the file by (offset, length). This is more
- efficient than doing a series of <a
- href="paramiko.SFTPFile-class.html#seek" class="link">seek</a> and <a
- href="paramiko.BufferedFile-class.html#read" class="link">read</a> calls,
- since the prefetch machinery is used to retrieve all the requested blocks
- at once.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>chunks</code></strong> (list(tuple(long, int))) - a list of (offset, length) tuples indicating which sections of
- the file to read</li>
- </ul></dd>
- <dt>Returns: list(str)</dt>
- <dd>a list of blocks read, in the same order as in
- <code>chunks</code></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="seek"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">seek</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">offset</span>,
- <span class="sig-arg">whence</span>=<span class="sig-default">0</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the file's current position, like stdio's <code>fseek</code>. Not
- all file objects support seeking.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>offset</code></strong> - position to move to within the file, relative to
- <code>whence</code>.</li>
- <li><strong class="pname"><code>whence</code></strong> - type of movement: 0 = absolute; 1 = relative to the current
- position; 2 = relative to the end of the file.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the file doesn't support random access.</li>
- </ul></dd>
- <dt>Overrides:
- <a href="paramiko.BufferedFile-class.html#seek">BufferedFile.seek</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_pipelined"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_pipelined</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">pipelined</span>=<span class="sig-default">True</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Turn on/off the pipelining of write operations to this file. When
- pipelining is on, paramiko won't wait for the server response after each
- write operation. Instead, they're collected as they come in. At the
- first non-write operation (including <a
- href="paramiko.SFTPFile-class.html#close" class="link">close</a>), all
- remaining server responses are collected. This means that if there was
- an error with one of your later writes, an exception might be thrown from
- within <a href="paramiko.SFTPFile-class.html#close"
- class="link">close</a> instead of <a
- href="paramiko.BufferedFile-class.html#write" class="link">write</a>.</p>
- <p>By default, files are <i>not</i> pipelined.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>pipelined</code></strong> (bool) - <code>True</code> if pipelining should be turned on for this
- file; <code>False</code> otherwise</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5
- </p>
-</div></td></tr></table>
-</div>
-<a name="setblocking"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">setblocking</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">blocking</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set blocking or non-blocking mode on the underiying socket or ssh <a
- href="paramiko.Channel-class.html" class="link">Channel</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>blocking</code></strong> (int) - 0 to set non-blocking mode; non-0 to set blocking mode.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>See Also:</strong>
- <a href="paramiko.Channel-class.html#setblocking"
- class="link">Channel.setblocking</a>
- </p>
-</div></td></tr></table>
-</div>
-<a name="settimeout"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">settimeout</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">timeout</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set a timeout on read/write operations on the underlying socket or ssh
- <a href="paramiko.Channel-class.html" class="link">Channel</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>timeout</code></strong> (float) - seconds to wait for a pending read/write operation before raising
- <code>socket.timeout</code>, or <code>None</code> for no timeout</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>See Also:</strong>
- <a href="paramiko.Channel-class.html#settimeout"
- class="link">Channel.settimeout</a>
- </p>
-</div></td></tr></table>
-</div>
-<a name="stat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">stat</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Retrieve information about this file from the remote system. This is
- exactly like <a href="paramiko.SFTPClient-class.html#stat"
- class="link">SFTP.stat</a>, except that it operates on an already-open
- file.</p>
- <dl class="fields">
- <dt>Returns: SFTPAttributes</dt>
- <dd>an object containing attributes about this file.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="truncate"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">truncate</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">size</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the size of this file. This usually extends or shrinks the
- size of the file, just like the <code>truncate()</code> method on python
- file objects.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>size</code></strong> (int or long) - the new size of the file</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="utime"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">utime</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">times</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the access and modified times of this file. If <code>times</code>
- is <code>None</code>, then the file's access and modified times are set
- to the current time. Otherwise, <code>times</code> must be a 2-tuple of
- numbers, of the form <code>(atime, mtime)</code>, which is used to set
- the access and modified times, respectively. This bizarre API is
- mimicked from python for the sake of consistency -- I apologize.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>times</code></strong> (tuple(int)) - <code>None</code> or a tuple of (access time, modified time) in
- standard internet epoch time (seconds since 01 January 1970 GMT)</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPHandle-class.html b/docs/paramiko.SFTPHandle-class.html
deleted file mode 100644
index fa258af..0000000
--- a/docs/paramiko.SFTPHandle-class.html
+++ /dev/null
@@ -1,476 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPHandle</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPHandle
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPHandle-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPHandle</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPHandle">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">SFTPHandle</strong>
-</pre>
-
-<hr />
-<p>Abstract object representing a handle to an open file (or folder) in
- an SFTP server implementation. Each handle has a string representation
- used by the client to refer to the underlying file.</p>
- <p>Server implementations can (and should) subclass SFTPHandle to
- implement features of a file handle, like <a
- href="paramiko.SFTPHandle-class.html#stat" class="link">stat</a> or <a
- href="paramiko.SFTPHandle-class.html#chattr" class="link">chattr</a>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPHandle-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">flags</span>=<span class="summary-sig-default">0</span>)</span><br />
- Create a new file handle representing a local file being served over
- SFTP.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPHandle-class.html#chattr" class="summary-sig-name">chattr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">attr</span>)</span><br />
- Change the attributes of this file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPHandle-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
- When a client closes a file, this method is called on the handle.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPHandle-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">offset</span>,
- <span class="summary-sig-arg">length</span>)</span><br />
- Read up to <code>length</code> bytes from this file, starting at
- position <code>offset</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPHandle-class.html#stat" class="summary-sig-name">stat</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return an <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object referring to this open file,
- or an error code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPHandle-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">offset</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Write <code>data</code> into this file at position
- <code>offset</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">flags</span>=<span class="sig-default">0</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new file handle representing a local file being served over
- SFTP. If <code>flags</code> is passed in, it's used to determine if the
- file is open in append mode.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>flags</code></strong> (int) - optional flags as passed to <a
- href="paramiko.SFTPServerInterface-class.html#open"
- class="link">SFTPServerInterface.open</a></li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="chattr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chattr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">attr</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the attributes of this file. The <code>attr</code> object will
- contain only those fields provided by the client in its request, so you
- should check for the presence of fields before using them.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a>) - the attributes to change on this file.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an error code like SFTP_OK.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>When a client closes a file, this method is called on the handle.
- Normally you would use this method to close the underlying OS level file
- object(s).</p>
- <p>The default implementation checks for attributes on <code>self</code>
- named <code>readfile</code> and/or <code>writefile</code>, and if either
- or both are present, their <code>close()</code> methods are called. This
- means that if you are using the default implementations of <a
- href="paramiko.SFTPHandle-class.html#read" class="link">read</a> and <a
- href="paramiko.SFTPHandle-class.html#write" class="link">write</a>, this
- method's default implementation should be fine also.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="read"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">offset</span>,
- <span class="sig-arg">length</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read up to <code>length</code> bytes from this file, starting at
- position <code>offset</code>. The offset may be a python long, since
- SFTP allows it to be 64 bits.</p>
- <p>If the end of the file has been reached, this method may return an
- empty string to signify EOF, or it may also return SFTP_EOF.</p>
- <p>The default implementation checks for an attribute on
- <code>self</code> named <code>readfile</code>, and if present, performs
- the read operation on the python file-like object found there. (This is
- meant as a time saver for the common case where you are wrapping a python
- file object.)</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>offset</code></strong> (int or long) - position in the file to start reading from.</li>
- <li><strong class="pname"><code>length</code></strong> (int) - number of bytes to attempt to read.</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>data read from the file, or an SFTP error code.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="stat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">stat</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return an <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object referring to this open file, or an
- error code. This is equivalent to <a
- href="paramiko.SFTPServerInterface-class.html#stat"
- class="link">SFTPServerInterface.stat</a>, except it's called on an open
- file instead of a path.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></dt>
- <dd>an attributes object for the given file, or an SFTP error code
- (like SFTP_PERMISSION_DENIED).</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="write"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">offset</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Write <code>data</code> into this file at position
- <code>offset</code>. Extending the file past its original end is
- expected. Unlike python's normal <code>write()</code> methods, this
- method cannot do a partial write: it must write all of <code>data</code>
- or else return an error.</p>
- <p>The default implementation checks for an attribute on
- <code>self</code> named <code>writefile</code>, and if present, performs
- the write operation on the python file-like object found there. The
- attribute is named differently from <code>readfile</code> to make it easy
- to implement read-only (or write-only) files, but if both attributes are
- present, they should refer to the same file.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>offset</code></strong> (int or long) - position in the file to start reading from.</li>
- <li><strong class="pname"><code>data</code></strong> (str) - data to write into the file.</li>
- </ul></dd>
- <dt>Returns:</dt>
- <dd>an SFTP error code like SFTP_OK.</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPServer-class.html b/docs/paramiko.SFTPServer-class.html
deleted file mode 100644
index 9cb08b6..0000000
--- a/docs/paramiko.SFTPServer-class.html
+++ /dev/null
@@ -1,477 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPServer</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPServer
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPServer-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPServer</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPServer">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
- BaseSFTP --+
- |
- object --+ |
- | |
-threading._Verbose --+ |
- | |
- threading.Thread --+ |
- | |
- <a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a> --+
- |
- <strong class="uidshort">SFTPServer</strong>
-</pre>
-
-<hr />
-<p>Server-side SFTP subsystem support. Since this is a <a
- href="paramiko.SubsystemHandler-class.html"
- class="link">SubsystemHandler</a>, it can be (and is meant to be) set as
- the handler for <code>&quot;sftp&quot;</code> requests. Use <a
- href="paramiko.Transport-class.html#set_subsystem_handler"
- class="link">Transport.set_subsystem_handler</a> to activate this
- class.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServer-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">name</span>,
- <span class="summary-sig-arg">server</span>,
- <span class="summary-sig-arg">sftp_si</span>=<span class="summary-sig-default">&lt;class 'paramiko.SFTPServerInterface'&gt;</span>,
- <span class="summary-sig-arg">*largs</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- The constructor for SFTPServer is meant to be called from within the
- <a href="paramiko.Transport-class.html" class="link">Transport</a> as
- a subsystem handler.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServer-class.html#finish_subsystem" class="summary-sig-name">finish_subsystem</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Perform any cleanup at the end of a subsystem.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServer-class.html#start_subsystem" class="summary-sig-name">start_subsystem</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">name</span>,
- <span class="summary-sig-arg">transport</span>,
- <span class="summary-sig-arg">channel</span>)</span><br />
- Process an ssh subsystem in server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.SubsystemHandler-class.html">SubsystemHandler</a></code></b>:
- <code><a href="paramiko.SubsystemHandler-class.html#get_server">get_server</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
- <code>__repr__</code>,
- <code>getName</code>,
- <code>isAlive</code>,
- <code>isDaemon</code>,
- <code>is_alive</code>,
- <code>join</code>,
- <code>run</code>,
- <code>setDaemon</code>,
- <code>setName</code>,
- <code>start</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Static Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServer-class.html#convert_errno" class="summary-sig-name">convert_errno</a>(<span class="summary-sig-arg">e</span>)</span><br />
- Convert an errno value (as from an <code>OSError</code> or
- <code>IOError</code>) into a standard SFTP result code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#SFTPServer.convert_errno">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServer-class.html#set_file_attr" class="summary-sig-name">set_file_attr</a>(<span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">attr</span>)</span><br />
- Change a file's attributes on the local filesystem.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#SFTPServer.set_file_attr">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
- <code>daemon</code>,
- <code>ident</code>,
- <code>name</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">name</span>,
- <span class="sig-arg">server</span>,
- <span class="sig-arg">sftp_si</span>=<span class="sig-default">&lt;class 'paramiko.SFTPServerInterface'&gt;</span>,
- <span class="sig-arg">*largs</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>The constructor for SFTPServer is meant to be called from within the
- <a href="paramiko.Transport-class.html" class="link">Transport</a> as a
- subsystem handler. <code>server</code> and any additional parameters or
- keyword parameters are passed from the original call to <a
- href="paramiko.Transport-class.html#set_subsystem_handler"
- class="link">Transport.set_subsystem_handler</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - channel passed from the <a href="paramiko.Transport-class.html"
- class="link">Transport</a>.</li>
- <li><strong class="pname"><code>name</code></strong> (str) - name of the requested subsystem.</li>
- <li><strong class="pname"><code>server</code></strong> (<a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a>) - the server object associated with this channel and subsystem</li>
- <li><strong class="pname"><code>sftp_si</code></strong> (class) - a subclass of <a href="paramiko.SFTPServerInterface-class.html"
- class="link">SFTPServerInterface</a> to use for handling
- individual requests.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="convert_errno"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">convert_errno</span>(<span class="sig-arg">e</span>)</span>
- <br /><em class="fname">Static Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#SFTPServer.convert_errno">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Convert an errno value (as from an <code>OSError</code> or
- <code>IOError</code>) into a standard SFTP result code. This is a
- convenience function for trapping exceptions in server code and returning
- an appropriate result.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>e</code></strong> (int) - an errno code, as from <code>OSError.errno</code>.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an SFTP error code like SFTP_NO_SUCH_FILE.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="finish_subsystem"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">finish_subsystem</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Perform any cleanup at the end of a subsystem. The default
- implementation just closes the channel.</p>
- <dl class="fields">
- <dt>Overrides:
- <a href="paramiko.SubsystemHandler-class.html#finish_subsystem">SubsystemHandler.finish_subsystem</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_file_attr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_file_attr</span>(<span class="sig-arg">filename</span>,
- <span class="sig-arg">attr</span>)</span>
- <br /><em class="fname">Static Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#SFTPServer.set_file_attr">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change a file's attributes on the local filesystem. The contents of
- <code>attr</code> are used to change the permissions, owner, group
- ownership, and/or modification &amp; access time of the file, depending
- on which attributes are present in <code>attr</code>.</p>
- <p>This is meant to be a handy helper function for translating SFTP file
- requests into local file operations.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to alter (should usually be an absolute path).</li>
- <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a>) - attributes to change.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="start_subsystem"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">start_subsystem</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">name</span>,
- <span class="sig-arg">transport</span>,
- <span class="sig-arg">channel</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Process an ssh subsystem in server mode. This method is called on a
- new object (and in a new thread) for each subsystem request. It is
- assumed that all subsystem logic will take place here, and when the
- subsystem is finished, this method will return. After this method
- returns, the channel is closed.</p>
- <p>The combination of <code>transport</code> and <code>channel</code> are
- unique; this handler corresponds to exactly one <a
- href="paramiko.Channel-class.html" class="link">Channel</a> on one <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>name</code></strong> - name of the requested subsystem.</li>
- <li><strong class="pname"><code>transport</code></strong> - the server-mode <a href="paramiko.Transport-class.html"
- class="link">Transport</a>.</li>
- <li><strong class="pname"><code>channel</code></strong> - the channel associated with this subsystem request.</li>
- </ul></dd>
- <dt>Overrides:
- <a href="paramiko.SubsystemHandler-class.html#start_subsystem">SubsystemHandler.start_subsystem</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SFTPServerInterface-class.html b/docs/paramiko.SFTPServerInterface-class.html
deleted file mode 100644
index 9474b77..0000000
--- a/docs/paramiko.SFTPServerInterface-class.html
+++ /dev/null
@@ -1,979 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SFTPServerInterface</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SFTPServerInterface
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SFTPServerInterface-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SFTPServerInterface</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPServerInterface">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">SFTPServerInterface</strong>
-</pre>
-
-<hr />
-<p>This class defines an interface for controlling the behavior of
- paramiko when using the <a href="paramiko.SFTPServer-class.html"
- class="link">SFTPServer</a> subsystem to provide an SFTP server.</p>
- <p>Methods on this class are called from the SFTP session's thread, so
- you can block as long as necessary without affecting other sessions (even
- other SFTP sessions). However, raising an exception will usually cause
- the SFTP session to abruptly end, so you will usually want to catch
- exceptions and return an appropriate error code.</p>
- <p>All paths are in string form instead of unicode because not all SFTP
- clients &amp; servers obey the requirement that paths be encoded in
- UTF-8.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">server</span>,
- <span class="summary-sig-arg">*largs</span>,
- <span class="summary-sig-arg">**kwargs</span>)</span><br />
- Create a new SFTPServerInterface object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#canonicalize" class="summary-sig-name">canonicalize</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return the canonical form of a path on the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#chattr" class="summary-sig-name">chattr</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">attr</span>)</span><br />
- Change the attributes of a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list of <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#list_folder" class="summary-sig-name">list_folder</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return a list of files within a given folder.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#lstat" class="summary-sig-name">lstat</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return an <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object for a path on the server, or
- an error code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#mkdir" class="summary-sig-name">mkdir</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">attr</span>)</span><br />
- Create a new directory with the given attributes.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#open" class="summary-sig-name">open</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>,
- <span class="summary-sig-arg">flags</span>,
- <span class="summary-sig-arg">attr</span>)</span><br />
- Open a file on the server and create a handle for future operations
- on that file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str <i>or error code</i></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#readlink" class="summary-sig-name">readlink</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return the target of a symbolic link (or shortcut) on the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#remove" class="summary-sig-name">remove</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Delete a file, if possible.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#rename" class="summary-sig-name">rename</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">oldpath</span>,
- <span class="summary-sig-arg">newpath</span>)</span><br />
- Rename (or move) a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#rmdir" class="summary-sig-name">rmdir</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Remove a directory if it exists.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#session_ended" class="summary-sig-name">session_ended</a>(<span class="summary-sig-arg">self</span>)</span><br />
- The SFTP server session has just ended, either cleanly or via an
- exception.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#session_started" class="summary-sig-name">session_started</a>(<span class="summary-sig-arg">self</span>)</span><br />
- The SFTP server session has just started.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#stat" class="summary-sig-name">stat</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Return an <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object for a path on the server, or
- an error code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SFTPServerInterface-class.html#symlink" class="summary-sig-name">symlink</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">target_path</span>,
- <span class="summary-sig-arg">path</span>)</span><br />
- Create a symbolic link on the server, as new pathname
- <code>path</code>, with <code>target_path</code> as the target of the
- link.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">server</span>,
- <span class="sig-arg">*largs</span>,
- <span class="sig-arg">**kwargs</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new SFTPServerInterface object. This method does nothing by
- default and is meant to be overridden by subclasses.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>server</code></strong> (<a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a>) - the server object associated with this channel and SFTP subsystem</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="canonicalize"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">canonicalize</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the canonical form of a path on the server. For example, if
- the server's home folder is <code>/home/foo</code>, the path
- <code>&quot;../betty&quot;</code> would be canonicalized to
- <code>&quot;/home/betty&quot;</code>. Note the obvious security issues:
- if you're serving files only from a specific folder, you probably don't
- want this method to reveal path names outside that folder.</p>
- <p>You may find the python methods in <code>os.path</code> useful,
- especially <code>os.path.normpath</code> and
- <code>os.path.realpath</code>.</p>
- <p>The default implementation returns <code>os.path.normpath('/' +
- path)</code>.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="chattr"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">chattr</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">attr</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Change the attributes of a file. The <code>attr</code> object will
- contain only those fields provided by the client in its request, so you
- should check for the presence of fields before using them.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - requested path (relative or absolute) of the file to change.</li>
- <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a>) - requested attributes to change on the file.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an error code like SFTP_OK.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="list_folder"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">list_folder</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a list of files within a given folder. The <code>path</code>
- will use posix notation (<code>&quot;/&quot;</code> separates folder
- names) and may be an absolute or relative path.</p>
- <p>The list of files is expected to be a list of <a
- href="paramiko.SFTPAttributes-class.html" class="link">SFTPAttributes</a>
- objects, which are similar in structure to the objects returned by
- <code>os.stat</code>. In addition, each object should have its
- <code>filename</code> field filled in, since this is important to a
- directory listing and not normally present in <code>os.stat</code>
- results. The method <a
- href="paramiko.SFTPAttributes-class.html#from_stat"
- class="link">SFTPAttributes.from_stat</a> will usually do what you
- want.</p>
- <p>In case of an error, you should return one of the <code>SFTP_*</code>
- error codes, such as SFTP_PERMISSION_DENIED.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) to be listed.</li>
- </ul></dd>
- <dt>Returns: list of <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></dt>
- <dd>a list of the files in the given folder, using <a
- href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> objects.</dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- You should normalize the given <code>path</code> first (see the
- <code>os.path</code> module) and check appropriate permissions
- before returning the list of files. Be careful of malicious
- clients attempting to use relative paths to escape restricted
- folders, if you're doing a direct translation from the SFTP server
- path to your local filesystem.
- </p>
-</div></td></tr></table>
-</div>
-<a name="lstat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">lstat</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return an <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object for a path on the server, or an
- error code. If your server supports symbolic links (also known as
- &quot;aliases&quot;), you should <i>not</i> follow them -- instead, you
- should return data on the symlink or alias itself. (<a
- href="paramiko.SFTPServerInterface-class.html#stat" class="link">stat</a>
- is the corresponding call that follows symlinks/aliases.)</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) to fetch file
- statistics for.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></dt>
- <dd>an attributes object for the given file, or an SFTP error code
- (like SFTP_PERMISSION_DENIED).</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="mkdir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">mkdir</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">attr</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new directory with the given attributes. The
- <code>attr</code> object may be considered a &quot;hint&quot; and
- ignored.</p>
- <p>The <code>attr</code> object will contain only those fields provided
- by the client in its request, so you should use <code>hasattr</code> to
- check for the presense of fields before using them. In some cases, the
- <code>attr</code> object may be completely empty.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - requested path (relative or absolute) of the new folder.</li>
- <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a>) - requested attributes of the new folder.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an SFTP error code like SFTP_OK.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>,
- <span class="sig-arg">flags</span>,
- <span class="sig-arg">attr</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Open a file on the server and create a handle for future operations on
- that file. On success, a new object subclassed from <a
- href="paramiko.SFTPHandle-class.html" class="link">SFTPHandle</a> should
- be returned. This handle will be used for future operations on the file
- (read, write, etc). On failure, an error code such as
- SFTP_PERMISSION_DENIED should be returned.</p>
- <p><code>flags</code> contains the requested mode for opening (read-only,
- write-append, etc) as a bitset of flags from the <code>os</code>
- module:</p>
- <ul>
- <li>
- <code>os.O_RDONLY</code>
- </li>
- <li>
- <code>os.O_WRONLY</code>
- </li>
- <li>
- <code>os.O_RDWR</code>
- </li>
- <li>
- <code>os.O_APPEND</code>
- </li>
- <li>
- <code>os.O_CREAT</code>
- </li>
- <li>
- <code>os.O_TRUNC</code>
- </li>
- <li>
- <code>os.O_EXCL</code>
- </li>
- </ul>
- <p>(One of <code>os.O_RDONLY</code>, <code>os.O_WRONLY</code>, or
- <code>os.O_RDWR</code> will always be set.)</p>
- <p>The <code>attr</code> object contains requested attributes of the file
- if it has to be created. Some or all attribute fields may be missing if
- the client didn't specify them.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) of the file to be
- opened.</li>
- <li><strong class="pname"><code>flags</code></strong> (int) - flags or'd together from the <code>os</code> module indicating
- the requested mode for opening the file.</li>
- <li><strong class="pname"><code>attr</code></strong> (<a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a>) - requested attributes of the file if it is newly created.</li>
- </ul></dd>
- <dt>Returns:</dt>
- <dd>a new <a href="paramiko.SFTPHandle-class.html"
- class="link">SFTPHandle</a> <i>or error code</i>. @rtype <a
- href="paramiko.SFTPHandle-class.html" class="link">SFTPHandle</a></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- The SFTP protocol defines all files to be in &quot;binary&quot;
- mode. There is no equivalent to python's &quot;text&quot; mode.
- </p>
-</div></td></tr></table>
-</div>
-<a name="readlink"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">readlink</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the target of a symbolic link (or shortcut) on the server. If
- the specified path doesn't refer to a symbolic link, an error should be
- returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - path (relative or absolute) of the symbolic link.</li>
- </ul></dd>
- <dt>Returns: str <i>or error code</i></dt>
- <dd>the target path of the symbolic link, or an error code like
- SFTP_NO_SUCH_FILE.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="remove"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">remove</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Delete a file, if possible.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) of the file to delete.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an SFTP error code like SFTP_OK.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="rename"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">rename</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">oldpath</span>,
- <span class="sig-arg">newpath</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Rename (or move) a file. The SFTP specification implies that this
- method can be used to move an existing file into a different folder, and
- since there's no other (easy) way to move files via SFTP, it's probably a
- good idea to implement &quot;move&quot; in this method too, even for
- files that cross disk partition boundaries, if at all possible.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>oldpath</code></strong> (str) - the requested path (relative or absolute) of the existing file.</li>
- <li><strong class="pname"><code>newpath</code></strong> (str) - the requested new path of the file.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an SFTP error code like SFTP_OK.</dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- You should return an error if a file with the same name as
- <code>newpath</code> already exists. (The rename operation should
- be non-desctructive.)
- </p>
-</div></td></tr></table>
-</div>
-<a name="rmdir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">rmdir</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Remove a directory if it exists. The <code>path</code> should refer
- to an existing, empty folder -- otherwise this method should return an
- error.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - requested path (relative or absolute) of the folder to remove.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an SFTP error code like SFTP_OK.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="session_ended"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">session_ended</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>The SFTP server session has just ended, either cleanly or via an
- exception. This method is meant to be overridden to perform any
- necessary cleanup before this <code>SFTPServerInterface</code> object is
- destroyed.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="session_started"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">session_started</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>The SFTP server session has just started. This method is meant to be
- overridden to perform any necessary setup before handling callbacks from
- SFTP operations.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="stat"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">stat</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return an <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> object for a path on the server, or an
- error code. If your server supports symbolic links (also known as
- &quot;aliases&quot;), you should follow them. (<a
- href="paramiko.SFTPServerInterface-class.html#lstat"
- class="link">lstat</a> is the corresponding call that doesn't follow
- symlinks/aliases.)</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>path</code></strong> (str) - the requested path (relative or absolute) to fetch file
- statistics for.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.SFTPAttributes-class.html"
- class="link">SFTPAttributes</a> <i>or error code</i></dt>
- <dd>an attributes object for the given file, or an SFTP error code
- (like SFTP_PERMISSION_DENIED).</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="symlink"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">symlink</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">target_path</span>,
- <span class="sig-arg">path</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a symbolic link on the server, as new pathname
- <code>path</code>, with <code>target_path</code> as the target of the
- link.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>target_path</code></strong> (str) - path (relative or absolute) of the target for this new symbolic
- link.</li>
- <li><strong class="pname"><code>path</code></strong> (str) - path (relative or absolute) of the symbolic link to create.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>an error code like <code>SFTP_OK</code>.</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SSHClient-class.html b/docs/paramiko.SSHClient-class.html
deleted file mode 100644
index d45aef1..0000000
--- a/docs/paramiko.SSHClient-class.html
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SSHClient</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SSHClient
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SSHClient-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SSHClient</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SSHClient">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">SSHClient</strong>
-</pre>
-
-<hr />
-<p>A high-level representation of a session with an SSH server. This
- class wraps <a href="paramiko.Transport-class.html"
- class="link">Transport</a>, <a href="paramiko.Channel-class.html"
- class="link">Channel</a>, and <a href="paramiko.SFTPClient-class.html"
- class="link">SFTPClient</a> to take care of most aspects of
- authenticating and opening channels. A typical use case is:</p>
-<pre class="literalblock">
- client = SSHClient()
- client.load_system_host_keys()
- client.connect('ssh.example.com')
- stdin, stdout, stderr = client.exec_command('ls -l')
-</pre>
- <p>You may pass in explicit overrides for authentication and server host
- key checking. The default mechanism is to try to use local key files or
- an SSH agent (if one is running).</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.6
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Create a new SSHClient.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Close this SSHClient and its underlying <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">22</span>,
- <span class="summary-sig-arg">username</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">pkey</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">key_filename</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">allow_agent</span>=<span class="summary-sig-default">True</span>,
- <span class="summary-sig-arg">look_for_keys</span>=<span class="summary-sig-default">True</span>,
- <span class="summary-sig-arg">compress</span>=<span class="summary-sig-default">False</span>)</span><br />
- Connect to an SSH server and authenticate to it.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">tuple(ChannelFile, ChannelFile, ChannelFile)</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#exec_command" class="summary-sig-name">exec_command</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">command</span>,
- <span class="summary-sig-arg">bufsize</span>=<span class="summary-sig-default">-1</span>)</span><br />
- Execute a command on the SSH server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.HostKeys-class.html" class="link">HostKeys</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#get_host_keys" class="summary-sig-name">get_host_keys</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Get the local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Transport-class.html" class="link">Transport</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#get_transport" class="summary-sig-name">get_transport</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the underlying <a href="paramiko.Transport-class.html"
- class="link">Transport</a> object for this SSH connection.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Channel-class.html" class="link">Channel</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#invoke_shell" class="summary-sig-name">invoke_shell</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">term</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">vt100</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">80</span>,
- <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">24</span>)</span><br />
- Start an interactive shell session on the SSH server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#load_host_keys" class="summary-sig-name">load_host_keys</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>)</span><br />
- Load host keys from a local host-key file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#load_system_host_keys" class="summary-sig-name">load_system_host_keys</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
- Load host keys from a system (read-only) file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPClient-class.html" class="link">SFTPClient</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#open_sftp" class="summary-sig-name">open_sftp</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Open an SFTP session on the SSH server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#save_host_keys" class="summary-sig-name">save_host_keys</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>)</span><br />
- Save the host keys back to a file.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#set_log_channel" class="summary-sig-name">set_log_channel</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">name</span>)</span><br />
- Set the channel for logging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHClient-class.html#set_missing_host_key_policy" class="summary-sig-name">set_missing_host_key_policy</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">policy</span>)</span><br />
- Set the policy to use when connecting to a server that doesn't have a
- host key in either the system or local <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a>
- objects.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new SSHClient.</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="connect"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">port</span>=<span class="sig-default">22</span>,
- <span class="sig-arg">username</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">pkey</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">key_filename</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">timeout</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">allow_agent</span>=<span class="sig-default">True</span>,
- <span class="sig-arg">look_for_keys</span>=<span class="sig-default">True</span>,
- <span class="sig-arg">compress</span>=<span class="sig-default">False</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Connect to an SSH server and authenticate to it. The server's host
- key is checked against the system host keys (see <a
- href="paramiko.SSHClient-class.html#load_system_host_keys"
- class="link">load_system_host_keys</a>) and any local host keys (<a
- href="paramiko.SSHClient-class.html#load_host_keys"
- class="link">load_host_keys</a>). If the server's hostname is not found
- in either set of host keys, the missing host key policy is used (see <a
- href="paramiko.SSHClient-class.html#set_missing_host_key_policy"
- class="link">set_missing_host_key_policy</a>). The default policy is to
- reject the key and raise an <a href="paramiko.SSHException-class.html"
- class="link">SSHException</a>.</p>
- <p>Authentication is attempted in the following order of priority:</p>
- <ul>
- <li>
- The <code>pkey</code> or <code>key_filename</code> passed in (if any)
- </li>
- <li>
- Any key we can find through an SSH agent
- </li>
- <li>
- Any &quot;id_rsa&quot; or &quot;id_dsa&quot; key discoverable in
- <code>~/.ssh/</code>
- </li>
- <li>
- Plain username/password auth, if a password was given
- </li>
- </ul>
- <p>If a private key requires a password to unlock it, and a password is
- passed in, that password will be used to attempt to unlock the key.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostname</code></strong> (str) - the server to connect to</li>
- <li><strong class="pname"><code>port</code></strong> (int) - the server port to connect to</li>
- <li><strong class="pname"><code>username</code></strong> (str) - the username to authenticate as (defaults to the current local
- username)</li>
- <li><strong class="pname"><code>password</code></strong> (str) - a password to use for authentication or for unlocking a private
- key</li>
- <li><strong class="pname"><code>pkey</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - an optional private key to use for authentication</li>
- <li><strong class="pname"><code>key_filename</code></strong> (str or list(str)) - the filename, or list of filenames, of optional private key(s) to
- try for authentication</li>
- <li><strong class="pname"><code>timeout</code></strong> (float) - an optional timeout (in seconds) for the TCP connect</li>
- <li><strong class="pname"><code>allow_agent</code></strong> (bool) - set to False to disable connecting to the SSH agent</li>
- <li><strong class="pname"><code>look_for_keys</code></strong> (bool) - set to False to disable searching for discoverable private key
- files in <code>~/.ssh/</code></li>
- <li><strong class="pname"><code>compress</code></strong> (bool) - set to True to turn on compression</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.BadHostKeyException-class.html">BadHostKeyException</a></strong></code> - if the server's host key could not be verified</li>
- <li><code><strong class='fraise'><a href="paramiko.AuthenticationException-class.html">AuthenticationException</a></strong></code> - if authentication failed</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if there was any other error connecting or establishing an SSH
- session</li>
- <li><code><strong class='fraise'>socket.error</strong></code> - if a socket error occurred while connecting</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="exec_command"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">exec_command</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">command</span>,
- <span class="sig-arg">bufsize</span>=<span class="sig-default">-1</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Execute a command on the SSH server. A new <a
- href="paramiko.Channel-class.html" class="link">Channel</a> is opened and
- the requested command is executed. The command's input and output
- streams are returned as python <code>file</code>-like objects
- representing stdin, stdout, and stderr.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>command</code></strong> (str) - the command to execute</li>
- <li><strong class="pname"><code>bufsize</code></strong> (int) - interpreted the same way as by the built-in <code>file()</code>
- function in python</li>
- </ul></dd>
- <dt>Returns: tuple(ChannelFile, ChannelFile, ChannelFile)</dt>
- <dd>the stdin, stdout, and stderr of the executing command</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the server fails to execute the command</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_host_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_host_keys</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Get the local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object. This can be used to examine the local
- host keys or change them.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.HostKeys-class.html" class="link">HostKeys</a></dt>
- <dd>the local host keys</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_transport"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_transport</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the underlying <a href="paramiko.Transport-class.html"
- class="link">Transport</a> object for this SSH connection. This can be
- used to perform lower-level tasks, like opening specific kinds of
- channels.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.Transport-class.html" class="link">Transport</a></dt>
- <dd>the Transport for this connection</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="invoke_shell"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">invoke_shell</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">term</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">vt100</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">width</span>=<span class="sig-default">80</span>,
- <span class="sig-arg">height</span>=<span class="sig-default">24</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Start an interactive shell session on the SSH server. A new <a
- href="paramiko.Channel-class.html" class="link">Channel</a> is opened and
- connected to a pseudo-terminal using the requested terminal type and
- size.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>term</code></strong> (str) - the terminal type to emulate (for example,
- <code>&quot;vt100&quot;</code>)</li>
- <li><strong class="pname"><code>width</code></strong> (int) - the width (in characters) of the terminal window</li>
- <li><strong class="pname"><code>height</code></strong> (int) - the height (in characters) of the terminal window</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Channel-class.html" class="link">Channel</a></dt>
- <dd>a new channel connected to the remote shell</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the server fails to invoke a shell</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="load_host_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">load_host_keys</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Load host keys from a local host-key file. Host keys read with this
- method will be checked <i>after</i> keys loaded via <a
- href="paramiko.SSHClient-class.html#load_system_host_keys"
- class="link">load_system_host_keys</a>, but will be saved back by <a
- href="paramiko.SSHClient-class.html#save_host_keys"
- class="link">save_host_keys</a> (so they can be modified). The missing
- host key policy <a href="paramiko.AutoAddPolicy-class.html"
- class="link">AutoAddPolicy</a> adds keys to this set and saves them, when
- connecting to a previously-unknown server.</p>
- <p>This method can be called multiple times. Each new set of host keys
- will be merged with the existing set (new replacing old if there are
- conflicts). When automatically saving, the last hostname is used.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - the filename to read</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the filename could not be read</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="load_system_host_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">load_system_host_keys</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Load host keys from a system (read-only) file. Host keys read with
- this method will not be saved back by <a
- href="paramiko.SSHClient-class.html#save_host_keys"
- class="link">save_host_keys</a>.</p>
- <p>This method can be called multiple times. Each new set of host keys
- will be merged with the existing set (new replacing old if there are
- conflicts).</p>
- <p>If <code>filename</code> is left as <code>None</code>, an attempt will
- be made to read keys from the user's local &quot;known hosts&quot; file,
- as used by OpenSSH, and no exception will be raised if the file can't be
- read. This is probably only useful on posix.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - the filename to read, or <code>None</code></li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if a filename was provided and the file could not be read</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open_sftp"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open_sftp</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Open an SFTP session on the SSH server.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.SFTPClient-class.html" class="link">SFTPClient</a></dt>
- <dd>a new SFTP session object</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="save_host_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">save_host_keys</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Save the host keys back to a file. Only the host keys loaded with <a
- href="paramiko.SSHClient-class.html#load_host_keys"
- class="link">load_host_keys</a> (plus any added directly) will be saved
- -- not any host keys loaded with <a
- href="paramiko.SSHClient-class.html#load_system_host_keys"
- class="link">load_system_host_keys</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - the filename to save to</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - if the file could not be written</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_log_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_log_channel</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">name</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the channel for logging. The default is
- <code>&quot;paramiko.transport&quot;</code> but it can be set to anything
- you want.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>name</code></strong> (str) - new channel name for logging</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_missing_host_key_policy"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_missing_host_key_policy</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">policy</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the policy to use when connecting to a server that doesn't have a
- host key in either the system or local <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a> objects.
- The default policy is to reject all unknown servers (using <a
- href="paramiko.RejectPolicy-class.html" class="link">RejectPolicy</a>).
- You may substitute <a href="paramiko.AutoAddPolicy-class.html"
- class="link">AutoAddPolicy</a> or write your own policy class.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>policy</code></strong> (<a href="paramiko.MissingHostKeyPolicy-class.html"
- class="link">MissingHostKeyPolicy</a>) - the policy to use when receiving a host key from a
- previously-unknown server</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SSHConfig-class.html b/docs/paramiko.SSHConfig-class.html
deleted file mode 100644
index d46115c..0000000
--- a/docs/paramiko.SSHConfig-class.html
+++ /dev/null
@@ -1,309 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SSHConfig</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SSHConfig
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SSHConfig-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SSHConfig</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SSHConfig">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">SSHConfig</strong>
-</pre>
-
-<hr />
-<p>Representation of config information as stored in the format used by
- OpenSSH. Queries can be made via <a
- href="paramiko.SSHConfig-class.html#lookup" class="link">lookup</a>. The
- format is described in OpenSSH's <code>ssh_config</code> man page. This
- class is provided primarily as a convenience to posix users (since the
- OpenSSH format is a de-facto standard on posix) but should work fine on
- Windows too.</p>
-
-<hr />
-<div class="fields"> <p><strong>Since:</strong>
- 1.6
- </p>
-</div><!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHConfig-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Create a new OpenSSH config object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHConfig-class.html#lookup" class="summary-sig-name">lookup</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostname</span>)</span><br />
- Return a dict of config options for a given hostname.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SSHConfig-class.html#parse" class="summary-sig-name">parse</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">file_obj</span>)</span><br />
- Read an OpenSSH config from the given file object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new OpenSSH config object.</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="lookup"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">lookup</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostname</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a dict of config options for a given hostname.</p>
- <p>The host-matching rules of OpenSSH's <code>ssh_config</code> man page
- are used, which means that all configuration options from matching host
- specifications are merged, with more specific hostmasks taking
- precedence. In other words, if <code>&quot;Port&quot;</code> is set under
- <code>&quot;Host *&quot;</code> and also <code>&quot;Host
- *.example.com&quot;</code>, and the lookup is for
- <code>&quot;ssh.example.com&quot;</code>, then the port entry for
- <code>&quot;Host *.example.com&quot;</code> will win out.</p>
- <p>The keys in the returned dict are all normalized to lowercase (look
- for <code>&quot;port&quot;</code>, not <code>&quot;Port&quot;</code>. No
- other processing is done to the keys or values.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostname</code></strong> (str) - the hostname to lookup</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="parse"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">parse</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">file_obj</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read an OpenSSH config from the given file object.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>file_obj</code></strong> (file) - a file-like object to read the config file from</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SSHException-class.html b/docs/paramiko.SSHException-class.html
deleted file mode 100644
index 7867d5d..0000000
--- a/docs/paramiko.SSHException-class.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SSHException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SSHException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SSHException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SSHException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SSHException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <strong class="uidshort">SSHException</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li><a href="paramiko.AuthenticationException-class.html">AuthenticationException</a></li><li>, <a href="paramiko.BadHostKeyException-class.html">BadHostKeyException</a></li><li>, <a href="paramiko.ChannelException-class.html">ChannelException</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>Exception raised by failures in SSH2 protocol negotiation or logic
- errors.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SecurityOptions-class.html b/docs/paramiko.SecurityOptions-class.html
deleted file mode 100644
index 3133bed..0000000
--- a/docs/paramiko.SecurityOptions-class.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SecurityOptions</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SecurityOptions
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SecurityOptions-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SecurityOptions</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SecurityOptions">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">SecurityOptions</strong>
-</pre>
-
-<hr />
-<p>Simple object containing the security preferences of an ssh transport.
- These are tuples of acceptable ciphers, digests, key types, and key
- exchange algorithms, listed in order of preference.</p>
- <p>Changing the contents and/or order of these fields affects the
- underlying <a href="paramiko.Transport-class.html"
- class="link">Transport</a> (but only if you change them before starting
- the session). If you try to add an algorithm that paramiko doesn't
- recognize, <code>ValueError</code> will be raised. If you try to assign
- something besides a tuple to one of the fields, <code>TypeError</code>
- will be raised.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">transport</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns a string representation of this object, for debugging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SecurityOptions-class.html#ciphers" class="summary-name">ciphers</a><br />
- Symmetric encryption ciphers
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SecurityOptions-class.html#compression" class="summary-name">compression</a><br />
- Compression algorithms
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SecurityOptions-class.html#digests" class="summary-name">digests</a><br />
- Digest (one-way hash) algorithms
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SecurityOptions-class.html#kex" class="summary-name">kex</a><br />
- Key exchange algorithms
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.SecurityOptions-class.html#key_types" class="summary-name">key_types</a><br />
- Public-key algorithms
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">transport</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns a string representation of this object, for debugging.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dt>Overrides:
- object.__repr__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== PROPERTY DETAILS ==================== -->
-<a name="section-PropertyDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Property Details</span></td>
-</tr>
-</table>
-<a name="ciphers"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">ciphers</h3>
- <p>Symmetric encryption ciphers</p>
- <dl class="fields">
- <dt>Get Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_get_ciphers" class="summary-sig-name" onclick="show_private();">_get_ciphers</a>(<span class="summary-sig-arg">self</span>)</span>
- </dd>
- <dt>Set Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_set_ciphers" class="summary-sig-name" onclick="show_private();">_set_ciphers</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>)</span>
- </dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="compression"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">compression</h3>
- <p>Compression algorithms</p>
- <dl class="fields">
- <dt>Get Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_get_compression" class="summary-sig-name" onclick="show_private();">_get_compression</a>(<span class="summary-sig-arg">self</span>)</span>
- </dd>
- <dt>Set Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_set_compression" class="summary-sig-name" onclick="show_private();">_set_compression</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>)</span>
- </dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="digests"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">digests</h3>
- <p>Digest (one-way hash) algorithms</p>
- <dl class="fields">
- <dt>Get Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_get_digests" class="summary-sig-name" onclick="show_private();">_get_digests</a>(<span class="summary-sig-arg">self</span>)</span>
- </dd>
- <dt>Set Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_set_digests" class="summary-sig-name" onclick="show_private();">_set_digests</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>)</span>
- </dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="kex"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">kex</h3>
- <p>Key exchange algorithms</p>
- <dl class="fields">
- <dt>Get Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_get_kex" class="summary-sig-name" onclick="show_private();">_get_kex</a>(<span class="summary-sig-arg">self</span>)</span>
- </dd>
- <dt>Set Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_set_kex" class="summary-sig-name" onclick="show_private();">_set_kex</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>)</span>
- </dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="key_types"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">key_types</h3>
- <p>Public-key algorithms</p>
- <dl class="fields">
- <dt>Get Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_get_key_types" class="summary-sig-name" onclick="show_private();">_get_key_types</a>(<span class="summary-sig-arg">self</span>)</span>
- </dd>
- <dt>Set Method:</dt>
- <dd class="value"><span class="summary-sig"><a href="paramiko.SecurityOptions-class.html#_set_key_types" class="summary-sig-name" onclick="show_private();">_set_key_types</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>)</span>
- </dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ServerInterface-class.html b/docs/paramiko.ServerInterface-class.html
deleted file mode 100644
index 7cf53a6..0000000
--- a/docs/paramiko.ServerInterface-class.html
+++ /dev/null
@@ -1,1247 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ServerInterface</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;ServerInterface
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ServerInterface-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ServerInterface</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#ServerInterface">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">ServerInterface</strong>
-</pre>
-
-<hr />
-<p>This class defines an interface for controlling the behavior of
- paramiko in server mode.</p>
- <p>Methods on this class are called from paramiko's primary thread, so
- you shouldn't do too much work in them. (Certainly nothing that blocks
- or sleeps.)</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#cancel_port_forward_request" class="summary-sig-name">cancel_port_forward_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">address</span>,
- <span class="summary-sig-arg">port</span>)</span><br />
- The client would like to cancel a previous port-forwarding request.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int or InteractiveQuery</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_auth_interactive" class="summary-sig-name">check_auth_interactive</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>,
- <span class="summary-sig-arg">submethods</span>)</span><br />
- Begin an interactive authentication challenge, if supported.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int or InteractiveQuery</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_auth_interactive_response" class="summary-sig-name">check_auth_interactive_response</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">responses</span>)</span><br />
- Continue or finish an interactive authentication challenge, if
- supported.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_auth_none" class="summary-sig-name">check_auth_none</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>)</span><br />
- Determine if a client may open channels with no (further)
- authentication.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_auth_password" class="summary-sig-name">check_auth_password</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>,
- <span class="summary-sig-arg">password</span>)</span><br />
- Determine if a given username and password supplied by the client is
- acceptable for use in authentication.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_auth_publickey" class="summary-sig-name">check_auth_publickey</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Determine if a given key supplied by the client is acceptable for use
- in authentication.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_direct_tcpip_request" class="summary-sig-name">check_channel_direct_tcpip_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">chanid</span>,
- <span class="summary-sig-arg">origin</span>,
- <span class="summary-sig-arg">destination</span>)</span><br />
- Determine if a local port forwarding channel will be granted, and
- return <code>OPEN_SUCCEEDED</code> or an error code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_exec_request" class="summary-sig-name">check_channel_exec_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">command</span>)</span><br />
- Determine if a shell command will be executed for the client.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_pty_request" class="summary-sig-name">check_channel_pty_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">term</span>,
- <span class="summary-sig-arg">width</span>,
- <span class="summary-sig-arg">height</span>,
- <span class="summary-sig-arg">pixelwidth</span>,
- <span class="summary-sig-arg">pixelheight</span>,
- <span class="summary-sig-arg">modes</span>)</span><br />
- Determine if a pseudo-terminal of the given dimensions (usually
- requested for shell access) can be provided on the given channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_request" class="summary-sig-name">check_channel_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">kind</span>,
- <span class="summary-sig-arg">chanid</span>)</span><br />
- Determine if a channel request of a given type will be granted, and
- return <code>OPEN_SUCCEEDED</code> or an error code.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_shell_request" class="summary-sig-name">check_channel_shell_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>)</span><br />
- Determine if a shell will be provided to the client on the given
- channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_subsystem_request" class="summary-sig-name">check_channel_subsystem_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">name</span>)</span><br />
- Determine if a requested subsystem will be provided to the client on
- the given channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_window_change_request" class="summary-sig-name">check_channel_window_change_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">width</span>,
- <span class="summary-sig-arg">height</span>,
- <span class="summary-sig-arg">pixelwidth</span>,
- <span class="summary-sig-arg">pixelheight</span>)</span><br />
- Determine if the pseudo-terminal on the given channel can be resized.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_channel_x11_request" class="summary-sig-name">check_channel_x11_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">single_connection</span>,
- <span class="summary-sig-arg">auth_protocol</span>,
- <span class="summary-sig-arg">auth_cookie</span>,
- <span class="summary-sig-arg">screen_number</span>)</span><br />
- Determine if the client will be provided with an X11 session.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_global_request" class="summary-sig-name">check_global_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">kind</span>,
- <span class="summary-sig-arg">msg</span>)</span><br />
- Handle a global request of the given <code>kind</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#check_port_forward_request" class="summary-sig-name">check_port_forward_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">address</span>,
- <span class="summary-sig-arg">port</span>)</span><br />
- Handle a request for port forwarding.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ServerInterface-class.html#get_allowed_auths" class="summary-sig-name">get_allowed_auths</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>)</span><br />
- Return a list of authentication methods supported by the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__init__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="cancel_port_forward_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">cancel_port_forward_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">address</span>,
- <span class="sig-arg">port</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>The client would like to cancel a previous port-forwarding request. If
- the given address and port is being forwarded across this ssh connection,
- the port should be closed.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>address</code></strong> (str) - the forwarded address</li>
- <li><strong class="pname"><code>port</code></strong> (int) - the forwarded port</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_auth_interactive"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_auth_interactive</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>,
- <span class="sig-arg">submethods</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Begin an interactive authentication challenge, if supported. You
- should override this method in server mode if you want to support the
- <code>&quot;keyboard-interactive&quot;</code> auth type, which requires
- you to send a series of questions for the client to answer.</p>
- <p>Return AUTH_FAILED if this auth method isn't supported. Otherwise,
- you should return an InteractiveQuery object containing the prompts and
- instructions for the user. The response will be sent via a call to <a
- href="paramiko.ServerInterface-class.html#check_auth_interactive_response"
- class="link">check_auth_interactive_response</a>.</p>
- <p>The default implementation always returns AUTH_FAILED.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (str) - the username of the authenticating client</li>
- <li><strong class="pname"><code>submethods</code></strong> (str) - a comma-separated list of methods preferred by the client
- (usually empty)</li>
- </ul></dd>
- <dt>Returns: int or InteractiveQuery</dt>
- <dd>AUTH_FAILED if this auth method isn't supported; otherwise an
- object containing queries for the user</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_auth_interactive_response"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_auth_interactive_response</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">responses</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Continue or finish an interactive authentication challenge, if
- supported. You should override this method in server mode if you want to
- support the <code>&quot;keyboard-interactive&quot;</code> auth type.</p>
- <p>Return AUTH_FAILED if the responses are not accepted, AUTH_SUCCESSFUL
- if the responses are accepted and complete the authentication, or
- AUTH_PARTIALLY_SUCCESSFUL if your authentication is stateful, and this
- set of responses is accepted for authentication, but more authentication
- is required. (In this latter case, <a
- href="paramiko.ServerInterface-class.html#get_allowed_auths"
- class="link">get_allowed_auths</a> will be called to report to the client
- what options it has for continuing the authentication.)</p>
- <p>If you wish to continue interactive authentication with more
- questions, you may return an InteractiveQuery object, which should cause
- the client to respond with more answers, calling this method again. This
- cycle can continue indefinitely.</p>
- <p>The default implementation always returns AUTH_FAILED.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>responses</code></strong> (list(str)) - list of responses from the client</li>
- </ul></dd>
- <dt>Returns: int or InteractiveQuery</dt>
- <dd>AUTH_FAILED if the authentication fails; AUTH_SUCCESSFUL if it
- succeeds; AUTH_PARTIALLY_SUCCESSFUL if the interactive auth is
- successful, but authentication must continue; otherwise an object
- containing queries for the user</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_auth_none"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_auth_none</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a client may open channels with no (further)
- authentication.</p>
- <p>Return AUTH_FAILED if the client must authenticate, or AUTH_SUCCESSFUL
- if it's okay for the client to not authenticate.</p>
- <p>The default implementation always returns AUTH_FAILED.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (str) - the username of the client.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>AUTH_FAILED if the authentication fails; AUTH_SUCCESSFUL if it
- succeeds.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_auth_password"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_auth_password</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>,
- <span class="sig-arg">password</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a given username and password supplied by the client is
- acceptable for use in authentication.</p>
- <p>Return AUTH_FAILED if the password is not accepted, AUTH_SUCCESSFUL if
- the password is accepted and completes the authentication, or
- AUTH_PARTIALLY_SUCCESSFUL if your authentication is stateful, and this
- key is accepted for authentication, but more authentication is required.
- (In this latter case, <a
- href="paramiko.ServerInterface-class.html#get_allowed_auths"
- class="link">get_allowed_auths</a> will be called to report to the client
- what options it has for continuing the authentication.)</p>
- <p>The default implementation always returns AUTH_FAILED.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (str) - the username of the authenticating client.</li>
- <li><strong class="pname"><code>password</code></strong> (str) - the password given by the client.</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>AUTH_FAILED if the authentication fails; AUTH_SUCCESSFUL if it
- succeeds; AUTH_PARTIALLY_SUCCESSFUL if the password auth is
- successful, but authentication must continue.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_auth_publickey"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_auth_publickey</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a given key supplied by the client is acceptable for use
- in authentication. You should override this method in server mode to
- check the username and key and decide if you would accept a signature
- made using this key.</p>
- <p>Return AUTH_FAILED if the key is not accepted, AUTH_SUCCESSFUL if the
- key is accepted and completes the authentication, or
- AUTH_PARTIALLY_SUCCESSFUL if your authentication is stateful, and this
- password is accepted for authentication, but more authentication is
- required. (In this latter case, <a
- href="paramiko.ServerInterface-class.html#get_allowed_auths"
- class="link">get_allowed_auths</a> will be called to report to the client
- what options it has for continuing the authentication.)</p>
- <p>Note that you don't have to actually verify any key signtature here.
- If you're willing to accept the key, paramiko will do the work of
- verifying the client's signature.</p>
- <p>The default implementation always returns AUTH_FAILED.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (str) - the username of the authenticating client</li>
- <li><strong class="pname"><code>key</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - the key object provided by the client</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>AUTH_FAILED if the client can't authenticate with this key;
- AUTH_SUCCESSFUL if it can; AUTH_PARTIALLY_SUCCESSFUL if it can
- authenticate with this key but must continue with authentication</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_channel_direct_tcpip_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_direct_tcpip_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">chanid</span>,
- <span class="sig-arg">origin</span>,
- <span class="sig-arg">destination</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a local port forwarding channel will be granted, and
- return <code>OPEN_SUCCEEDED</code> or an error code. This method is
- called in server mode when the client requests a channel, after
- authentication is complete.</p>
- <p>The <code>chanid</code> parameter is a small number that uniquely
- identifies the channel within a <a href="paramiko.Transport-class.html"
- class="link">Transport</a>. A <a href="paramiko.Channel-class.html"
- class="link">Channel</a> object is not created unless this method returns
- <code>OPEN_SUCCEEDED</code> -- once a <a
- href="paramiko.Channel-class.html" class="link">Channel</a> object is
- created, you can call <a href="paramiko.Channel-class.html#get_id"
- class="link">Channel.get_id</a> to retrieve the channel ID.</p>
- <p>The origin and destination parameters are (ip_address, port) tuples
- that correspond to both ends of the TCP connection in the forwarding
- tunnel.</p>
- <p>The return value should either be <code>OPEN_SUCCEEDED</code> (or
- <code>0</code>) to allow the channel request, or one of the following
- error codes to reject it:</p>
- <ul>
- <li>
- <code>OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</code>
- </li>
- <li>
- <code>OPEN_FAILED_CONNECT_FAILED</code>
- </li>
- <li>
- <code>OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</code>
- </li>
- <li>
- <code>OPEN_FAILED_RESOURCE_SHORTAGE</code>
- </li>
- </ul>
- <p>The default implementation always returns
- <code>OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>chanid</code></strong> (int) - ID of the channel</li>
- <li><strong class="pname"><code>origin</code></strong> (tuple) - 2-tuple containing the IP address and port of the originator
- (client side)</li>
- <li><strong class="pname"><code>destination</code></strong> (tuple) - 2-tuple containing the IP address and port of the destination
- (server side)</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>a success or failure code (listed above)</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_channel_exec_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_exec_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">command</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a shell command will be executed for the client. If this
- method returns <code>True</code>, the channel should be connected to the
- stdin, stdout, and stderr of the shell command.</p>
- <p>The default implementation always returns <code>False</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the <a href="paramiko.Channel-class.html"
- class="link">Channel</a> the request arrived on.</li>
- <li><strong class="pname"><code>command</code></strong> (str) - the command to execute.</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if this channel is now hooked up to the stdin,
- stdout, and stderr of the executing command; <code>False</code>
- if the command will not be executed.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="check_channel_pty_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_pty_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">term</span>,
- <span class="sig-arg">width</span>,
- <span class="sig-arg">height</span>,
- <span class="sig-arg">pixelwidth</span>,
- <span class="sig-arg">pixelheight</span>,
- <span class="sig-arg">modes</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a pseudo-terminal of the given dimensions (usually
- requested for shell access) can be provided on the given channel.</p>
- <p>The default implementation always returns <code>False</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the <a href="paramiko.Channel-class.html"
- class="link">Channel</a> the pty request arrived on.</li>
- <li><strong class="pname"><code>term</code></strong> (str) - type of terminal requested (for example,
- <code>&quot;vt100&quot;</code>).</li>
- <li><strong class="pname"><code>width</code></strong> (int) - width of screen in characters.</li>
- <li><strong class="pname"><code>height</code></strong> (int) - height of screen in characters.</li>
- <li><strong class="pname"><code>pixelwidth</code></strong> (int) - width of screen in pixels, if known (may be <code>0</code> if
- unknown).</li>
- <li><strong class="pname"><code>pixelheight</code></strong> (int) - height of screen in pixels, if known (may be <code>0</code> if
- unknown).</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if the psuedo-terminal has been allocated;
- <code>False</code> otherwise.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_channel_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">kind</span>,
- <span class="sig-arg">chanid</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a channel request of a given type will be granted, and
- return <code>OPEN_SUCCEEDED</code> or an error code. This method is
- called in server mode when the client requests a channel, after
- authentication is complete.</p>
- <p>If you allow channel requests (and an ssh server that didn't would be
- useless), you should also override some of the channel request methods
- below, which are used to determine which services will be allowed on a
- given channel:</p>
- <ul>
- <li>
- <a
- href="paramiko.ServerInterface-class.html#check_channel_pty_request"
- class="link">check_channel_pty_request</a>
- </li>
- <li>
- <a
- href="paramiko.ServerInterface-class.html#check_channel_shell_request"
- class="link">check_channel_shell_request</a>
- </li>
- <li>
- <a
- href="paramiko.ServerInterface-class.html#check_channel_subsystem_request"
- class="link">check_channel_subsystem_request</a>
- </li>
- <li>
- <a
- href="paramiko.ServerInterface-class.html#check_channel_window_change_request"
- class="link">check_channel_window_change_request</a>
- </li>
- <li>
- <a
- href="paramiko.ServerInterface-class.html#check_channel_x11_request"
- class="link">check_channel_x11_request</a>
- </li>
- </ul>
- <p>The <code>chanid</code> parameter is a small number that uniquely
- identifies the channel within a <a href="paramiko.Transport-class.html"
- class="link">Transport</a>. A <a href="paramiko.Channel-class.html"
- class="link">Channel</a> object is not created unless this method returns
- <code>OPEN_SUCCEEDED</code> -- once a <a
- href="paramiko.Channel-class.html" class="link">Channel</a> object is
- created, you can call <a href="paramiko.Channel-class.html#get_id"
- class="link">Channel.get_id</a> to retrieve the channel ID.</p>
- <p>The return value should either be <code>OPEN_SUCCEEDED</code> (or
- <code>0</code>) to allow the channel request, or one of the following
- error codes to reject it:</p>
- <ul>
- <li>
- <code>OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</code>
- </li>
- <li>
- <code>OPEN_FAILED_CONNECT_FAILED</code>
- </li>
- <li>
- <code>OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</code>
- </li>
- <li>
- <code>OPEN_FAILED_RESOURCE_SHORTAGE</code>
- </li>
- </ul>
- <p>The default implementation always returns
- <code>OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>kind</code></strong> (str) - the kind of channel the client would like to open (usually
- <code>&quot;session&quot;</code>).</li>
- <li><strong class="pname"><code>chanid</code></strong> (int) - ID of the channel</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>a success or failure code (listed above)</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_channel_shell_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_shell_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a shell will be provided to the client on the given
- channel. If this method returns <code>True</code>, the channel should be
- connected to the stdin/stdout of a shell (or something that acts like a
- shell).</p>
- <p>The default implementation always returns <code>False</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the <a href="paramiko.Channel-class.html"
- class="link">Channel</a> the request arrived on.</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if this channel is now hooked up to a shell;
- <code>False</code> if a shell can't or won't be provided.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_channel_subsystem_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_subsystem_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">name</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if a requested subsystem will be provided to the client on
- the given channel. If this method returns <code>True</code>, all future
- I/O through this channel will be assumed to be connected to the requested
- subsystem. An example of a subsystem is <code>sftp</code>.</p>
- <p>The default implementation checks for a subsystem handler assigned via
- <a href="paramiko.Transport-class.html#set_subsystem_handler"
- class="link">Transport.set_subsystem_handler</a>. If one has been set,
- the handler is invoked and this method returns <code>True</code>.
- Otherwise it returns <code>False</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the <a href="paramiko.Channel-class.html"
- class="link">Channel</a> the pty request arrived on.</li>
- <li><strong class="pname"><code>name</code></strong> (str) - name of the requested subsystem.</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if this channel is now hooked up to the
- requested subsystem; <code>False</code> if that subsystem can't
- or won't be provided.</dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- Because the default implementation uses the <a
- href="paramiko.Transport-class.html" class="link">Transport</a> to
- identify valid subsystems, you probably won't need to override this
- method.
- </p>
-</div></td></tr></table>
-</div>
-<a name="check_channel_window_change_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_window_change_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">width</span>,
- <span class="sig-arg">height</span>,
- <span class="sig-arg">pixelwidth</span>,
- <span class="sig-arg">pixelheight</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if the pseudo-terminal on the given channel can be resized.
- This only makes sense if a pty was previously allocated on it.</p>
- <p>The default implementation always returns <code>False</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the <a href="paramiko.Channel-class.html"
- class="link">Channel</a> the pty request arrived on.</li>
- <li><strong class="pname"><code>width</code></strong> (int) - width of screen in characters.</li>
- <li><strong class="pname"><code>height</code></strong> (int) - height of screen in characters.</li>
- <li><strong class="pname"><code>pixelwidth</code></strong> (int) - width of screen in pixels, if known (may be <code>0</code> if
- unknown).</li>
- <li><strong class="pname"><code>pixelheight</code></strong> (int) - height of screen in pixels, if known (may be <code>0</code> if
- unknown).</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if the terminal was resized; <code>False</code>
- if not.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_channel_x11_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_channel_x11_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">single_connection</span>,
- <span class="sig-arg">auth_protocol</span>,
- <span class="sig-arg">auth_cookie</span>,
- <span class="sig-arg">screen_number</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Determine if the client will be provided with an X11 session. If this
- method returns <code>True</code>, X11 applications should be routed
- through new SSH channels, using <a
- href="paramiko.Transport-class.html#open_x11_channel"
- class="link">Transport.open_x11_channel</a>.</p>
- <p>The default implementation always returns <code>False</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the <a href="paramiko.Channel-class.html"
- class="link">Channel</a> the X11 request arrived on</li>
- <li><strong class="pname"><code>single_connection</code></strong> (bool) - <code>True</code> if only a single X11 channel should be opened</li>
- <li><strong class="pname"><code>auth_protocol</code></strong> (str) - the protocol used for X11 authentication</li>
- <li><strong class="pname"><code>auth_cookie</code></strong> (str) - the cookie used to authenticate to X11</li>
- <li><strong class="pname"><code>screen_number</code></strong> (int) - the number of the X11 screen to connect to</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> if the X11 session was opened;
- <code>False</code> if not</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="check_global_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_global_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">kind</span>,
- <span class="sig-arg">msg</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Handle a global request of the given <code>kind</code>. This method
- is called in server mode and client mode, whenever the remote host makes
- a global request. If there are any arguments to the request, they will
- be in <code>msg</code>.</p>
- <p>There aren't any useful global requests defined, aside from port
- forwarding, so usually this type of request is an extension to the
- protocol.</p>
- <p>If the request was successful and you would like to return contextual
- data to the remote host, return a tuple. Items in the tuple will be sent
- back with the successful result. (Note that the items in the tuple can
- only be strings, ints, longs, or bools.)</p>
- <p>The default implementation always returns <code>False</code>,
- indicating that it does not support any global requests.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>kind</code></strong> (str) - the kind of global request being made.</li>
- <li><strong class="pname"><code>msg</code></strong> (<a href="paramiko.Message-class.html" class="link">Message</a>) - any extra arguments to the request.</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd><code>True</code> or a tuple of data if the request was granted;
- <code>False</code> otherwise.</dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- Port forwarding requests are handled separately, in <a
- href="paramiko.ServerInterface-class.html#check_port_forward_request"
- class="link">check_port_forward_request</a>.
- </p>
-</div></td></tr></table>
-</div>
-<a name="check_port_forward_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">check_port_forward_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">address</span>,
- <span class="sig-arg">port</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Handle a request for port forwarding. The client is asking that
- connections to the given address and port be forwarded back across this
- ssh connection. An address of <code>&quot;0.0.0.0&quot;</code> indicates
- a global address (any address associated with this server) and a port of
- <code>0</code> indicates that no specific port is requested (usually the
- OS will pick a port).</p>
- <p>The default implementation always returns <code>False</code>,
- rejecting the port forwarding request. If the request is accepted, you
- should return the port opened for listening.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>address</code></strong> (str) - the requested address</li>
- <li><strong class="pname"><code>port</code></strong> (int) - the requested port</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>the port number that was opened for listening, or
- <code>False</code> to reject</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_allowed_auths"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_allowed_auths</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a list of authentication methods supported by the server. This
- list is sent to clients attempting to authenticate, to inform them of
- authentication methods that might be successful.</p>
- <p>The &quot;list&quot; is actually a string of comma-separated names of
- types of authentication. Possible values are
- <code>&quot;password&quot;</code>, <code>&quot;publickey&quot;</code>,
- and <code>&quot;none&quot;</code>.</p>
- <p>The default implementation always returns
- <code>&quot;password&quot;</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (str) - the username requesting authentication.</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>a comma-separated list of authentication types</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.SubsystemHandler-class.html b/docs/paramiko.SubsystemHandler-class.html
deleted file mode 100644
index b7003eb..0000000
--- a/docs/paramiko.SubsystemHandler-class.html
+++ /dev/null
@@ -1,393 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.SubsystemHandler</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;SubsystemHandler
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.SubsystemHandler-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class SubsystemHandler</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SubsystemHandler">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-threading._Verbose --+
- |
- threading.Thread --+
- |
- <strong class="uidshort">SubsystemHandler</strong>
-</pre>
-
-<dl><dt>Known Subclasses:</dt>
-<dd>
- <ul class="subclass-list">
-<li><a href="paramiko.SFTPServer-class.html">SFTPServer</a></li> </ul>
-</dd></dl>
-
-<hr />
-<p>Handler for a subsytem in server mode. If you create a subclass of
- this class and pass it to <a
- href="paramiko.Transport-class.html#set_subsystem_handler"
- class="link">Transport.set_subsystem_handler</a>, an object of this class
- will be created for each request for this subsystem. Each new object
- will be executed within its own new thread by calling <a
- href="paramiko.SubsystemHandler-class.html#start_subsystem"
- class="link">start_subsystem</a>. When that method completes, the channel
- is closed.</p>
- <p>For example, if you made a subclass <code>MP3Handler</code> and
- registered it as the handler for subsystem <code>&quot;mp3&quot;</code>,
- then whenever a client has successfully authenticated and requests
- subsytem <code>&quot;mp3&quot;</code>, an object of class
- <code>MP3Handler</code> will be created, and <a
- href="paramiko.SubsystemHandler-class.html#start_subsystem"
- class="link">start_subsystem</a> will be called on it from a new
- thread.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SubsystemHandler-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">name</span>,
- <span class="summary-sig-arg">server</span>)</span><br />
- Create a new handler for a channel.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SubsystemHandler-class.html#finish_subsystem" class="summary-sig-name">finish_subsystem</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Perform any cleanup at the end of a subsystem.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_server"></a><span class="summary-sig-name">get_server</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the <a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a> object associated with this channel
- and subsystem.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.SubsystemHandler-class.html#start_subsystem" class="summary-sig-name">start_subsystem</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">name</span>,
- <span class="summary-sig-arg">transport</span>,
- <span class="summary-sig-arg">channel</span>)</span><br />
- Process an ssh subsystem in server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
- <code>__repr__</code>,
- <code>getName</code>,
- <code>isAlive</code>,
- <code>isDaemon</code>,
- <code>is_alive</code>,
- <code>join</code>,
- <code>run</code>,
- <code>setDaemon</code>,
- <code>setName</code>,
- <code>start</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
- <code>daemon</code>,
- <code>ident</code>,
- <code>name</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">name</span>,
- <span class="sig-arg">server</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new handler for a channel. This is used by <a
- href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a> to start up a new handler when a channel
- requests this subsystem. You don't need to override this method, but if
- you do, be sure to pass the <code>channel</code> and <code>name</code>
- parameters through to the original <code>__init__</code> method here.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the channel associated with this subsystem request.</li>
- <li><strong class="pname"><code>name</code></strong> (str) - name of the requested subsystem.</li>
- <li><strong class="pname"><code>server</code></strong> (<a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a>) - the server object for the session that started this subsystem</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="finish_subsystem"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">finish_subsystem</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Perform any cleanup at the end of a subsystem. The default
- implementation just closes the channel.</p>
- <dl class="fields">
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="start_subsystem"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">start_subsystem</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">name</span>,
- <span class="sig-arg">transport</span>,
- <span class="sig-arg">channel</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Process an ssh subsystem in server mode. This method is called on a
- new object (and in a new thread) for each subsystem request. It is
- assumed that all subsystem logic will take place here, and when the
- subsystem is finished, this method will return. After this method
- returns, the channel is closed.</p>
- <p>The combination of <code>transport</code> and <code>channel</code> are
- unique; this handler corresponds to exactly one <a
- href="paramiko.Channel-class.html" class="link">Channel</a> on one <a
- href="paramiko.Transport-class.html" class="link">Transport</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>name</code></strong> (str) - name of the requested subsystem.</li>
- <li><strong class="pname"><code>transport</code></strong> (<a href="paramiko.Transport-class.html"
- class="link">Transport</a>) - the server-mode <a href="paramiko.Transport-class.html"
- class="link">Transport</a>.</li>
- <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the channel associated with this subsystem request.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- It is the responsibility of this method to exit if the underlying
- <a href="paramiko.Transport-class.html" class="link">Transport</a>
- is closed. This can be done by checking <a
- href="paramiko.Transport-class.html#is_active"
- class="link">Transport.is_active</a> or noticing an EOF on the <a
- href="paramiko.Channel-class.html" class="link">Channel</a>. If
- this method loops forever without checking for this case, your
- python interpreter may refuse to exit because this thread will
- still be running.
- </p>
-</div></td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.Transport-class.html b/docs/paramiko.Transport-class.html
deleted file mode 100644
index e15be3d..0000000
--- a/docs/paramiko.Transport-class.html
+++ /dev/null
@@ -1,2352 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.Transport</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;Transport
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.Transport-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Transport</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#Transport">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-threading._Verbose --+
- |
- threading.Thread --+
- |
- <strong class="uidshort">Transport</strong>
-</pre>
-
-<hr />
-<p>An SSH Transport attaches to a stream (usually a socket), negotiates
- an encrypted session, authenticates, and then creates stream tunnels,
- called <a href="paramiko.Channel-class.html" class="link">Channel</a>s,
- across the session. Multiple channels can be multiplexed across a single
- session (and often are, in the case of port forwardings).</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">sock</span>)</span><br />
- Create a new SSH session over an existing socket, or socket-like
- object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns a string representation of this object, for debugging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Channel-class.html" class="link">Channel</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#accept" class="summary-sig-name">accept</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">None</span>)</span><br />
- Return the next channel opened by the client over this transport, in
- server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#add_server_key" class="summary-sig-name">add_server_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Add a host key to the list of keys used for server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#atfork" class="summary-sig-name">atfork</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Terminate this Transport without closing the session.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#auth_interactive" class="summary-sig-name">auth_interactive</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>,
- <span class="summary-sig-arg">handler</span>,
- <span class="summary-sig-arg">submethods</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span><br />
- Authenticate to the server interactively.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#auth_none" class="summary-sig-name">auth_none</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>)</span><br />
- Try to authenticate to the server using no authentication at all.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#auth_password" class="summary-sig-name">auth_password</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>,
- <span class="summary-sig-arg">password</span>,
- <span class="summary-sig-arg">event</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">fallback</span>=<span class="summary-sig-default">True</span>)</span><br />
- Authenticate to the server using a password.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">list</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#auth_publickey" class="summary-sig-name">auth_publickey</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">username</span>,
- <span class="summary-sig-arg">key</span>,
- <span class="summary-sig-arg">event</span>=<span class="summary-sig-default">None</span>)</span><br />
- Authenticate to the server using a private key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#cancel_port_forward" class="summary-sig-name">cancel_port_forward</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">address</span>,
- <span class="summary-sig-arg">port</span>)</span><br />
- Ask the server to cancel a previous port-forwarding request.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Close this session, and any open channels that are tied to it.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostkey</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">username</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">pkey</span>=<span class="summary-sig-default">None</span>)</span><br />
- Negotiate an SSH2 session, and optionally verify the server's host
- key and authenticate using a password or private key.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">Exception</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_exception" class="summary-sig-name">get_exception</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return any exception that happened during the last server request.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_hexdump" class="summary-sig-name">get_hexdump</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return <code>True</code> if the transport is currently logging hex
- dumps of protocol traffic.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_log_channel" class="summary-sig-name">get_log_channel</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the channel name used for this transport's logging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.PKey-class.html" class="link">PKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_remote_server_key" class="summary-sig-name">get_remote_server_key</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the host key of the server (in client mode).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SecurityOptions-class.html"
- class="link">SecurityOptions</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_security_options" class="summary-sig-name">get_security_options</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return a <a href="paramiko.SecurityOptions-class.html"
- class="link">SecurityOptions</a> object which can be used to tweak
- the encryption algorithms this transport will permit, and the order
- of preference for them.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.PKey-class.html" class="link">PKey</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_server_key" class="summary-sig-name">get_server_key</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the active host key, in server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#get_username" class="summary-sig-name">get_username</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the username this connection is authenticated for.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">tuple(str, int)</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#getpeername" class="summary-sig-name">getpeername</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the address of the remote side of this Transport, if possible.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Message-class.html" class="link">Message</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#global_request" class="summary-sig-name">global_request</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">kind</span>,
- <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">wait</span>=<span class="summary-sig-default">True</span>)</span><br />
- Make a global request to the remote host.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#is_active" class="summary-sig-name">is_active</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return true if this session is active (open).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#is_authenticated" class="summary-sig-name">is_authenticated</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return true if this session is active and authenticated.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Channel-class.html" class="link">Channel</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#open_channel" class="summary-sig-name">open_channel</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">kind</span>,
- <span class="summary-sig-arg">dest_addr</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">src_addr</span>=<span class="summary-sig-default">None</span>)</span><br />
- Request a new channel to the server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#open_forwarded_tcpip_channel" class="summary-sig-name">open_forwarded_tcpip_channel</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">(src_addr, src_port)</span>,
- <span class="summary-sig-arg">(dest_addr, dest_port)</span>)</span><br />
- Request a new channel back to the client, of type
- <code>&quot;forwarded-tcpip&quot;</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Channel-class.html" class="link">Channel</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#open_session" class="summary-sig-name">open_session</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Request a new channel to the server, of type
- <code>&quot;session&quot;</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.SFTPClient-class.html" class="link">SFTPClient</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#open_sftp_client" class="summary-sig-name">open_sftp_client</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Create an SFTP client channel from an open transport.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type"><a href="paramiko.Channel-class.html" class="link">Channel</a></span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#open_x11_channel" class="summary-sig-name">open_x11_channel</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">src_addr</span>=<span class="summary-sig-default">None</span>)</span><br />
- Request a new channel to the client, of type
- <code>&quot;x11&quot;</code>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#renegotiate_keys" class="summary-sig-name">renegotiate_keys</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Force this session to switch to new keys.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#request_port_forward" class="summary-sig-name">request_port_forward</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">address</span>,
- <span class="summary-sig-arg">port</span>,
- <span class="summary-sig-arg">handler</span>=<span class="summary-sig-default">None</span>)</span><br />
- Ask the server to forward TCP connections from a listening port on
- the server, across this SSH session.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#run" class="summary-sig-name">run</a>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#send_ignore" class="summary-sig-name">send_ignore</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">bytes</span>=<span class="summary-sig-default">None</span>)</span><br />
- Send a junk packet across the encrypted link.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#set_hexdump" class="summary-sig-name">set_hexdump</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hexdump</span>)</span><br />
- Turn on/off logging a hex dump of protocol traffic at DEBUG level in
- the logs.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#set_keepalive" class="summary-sig-name">set_keepalive</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">interval</span>)</span><br />
- Turn on/off keepalive packets (default is off).</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#set_log_channel" class="summary-sig-name">set_log_channel</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">name</span>)</span><br />
- Set the channel for this transport's logging.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#set_subsystem_handler" class="summary-sig-name">set_subsystem_handler</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">name</span>,
- <span class="summary-sig-arg">handler</span>,
- <span class="summary-sig-arg">*larg</span>,
- <span class="summary-sig-arg">**kwarg</span>)</span><br />
- Set the handler class for a subsystem in server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#start_client" class="summary-sig-name">start_client</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">event</span>=<span class="summary-sig-default">None</span>)</span><br />
- Negotiate a new SSH2 session as a client.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#start_server" class="summary-sig-name">start_server</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">event</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">server</span>=<span class="summary-sig-default">None</span>)</span><br />
- Negotiate a new SSH2 session as a server.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="stop_thread"></a><span class="summary-sig-name">stop_thread</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#use_compression" class="summary-sig-name">use_compression</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">compress</span>=<span class="summary-sig-default">True</span>)</span><br />
- Turn on/off compression.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
- <code>getName</code>,
- <code>isAlive</code>,
- <code>isDaemon</code>,
- <code>is_alive</code>,
- <code>join</code>,
- <code>setDaemon</code>,
- <code>setName</code>,
- <code>start</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Static Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.Transport-class.html#load_server_moduli" class="summary-sig-name">load_server_moduli</a>(<span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
- <i>(optional)</i> Load a file of prime moduli for use in doing
- group-exchange key negotiation in server mode.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko-pysrc.html#Transport.load_server_moduli">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
- <code>daemon</code>,
- <code>ident</code>,
- <code>name</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">sock</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create a new SSH session over an existing socket, or socket-like
- object. This only creates the Transport object; it doesn't begin the SSH
- session yet. Use <a href="paramiko.Transport-class.html#connect"
- class="link">connect</a> or <a
- href="paramiko.Transport-class.html#start_client"
- class="link">start_client</a> to begin a client session, or <a
- href="paramiko.Transport-class.html#start_server"
- class="link">start_server</a> to begin a server session.</p>
- <p>If the object is not actually a socket, it must have the following
- methods:</p>
- <ul>
- <li>
- <code>send(str)</code>: Writes from 1 to <code>len(str)</code> bytes,
- and returns an int representing the number of bytes written. Returns
- 0 or raises <code>EOFError</code> if the stream has been closed.
- </li>
- <li>
- <code>recv(int)</code>: Reads from 1 to <code>int</code> bytes and
- returns them as a string. Returns 0 or raises <code>EOFError</code>
- if the stream has been closed.
- </li>
- <li>
- <code>close()</code>: Closes the socket.
- </li>
- <li>
- <code>settimeout(n)</code>: Sets a (float) timeout on I/O operations.
- </li>
- </ul>
- <p>For ease of use, you may also pass in an address (as a tuple) or a
- host string as the <code>sock</code> argument. (A host string is a
- hostname with an optional port (separated by <code>&quot;:&quot;</code>)
- which will be converted into a tuple of <code>(hostname, port)</code>.)
- A socket will be connected to this address and used for communication.
- Exceptions from the <code>socket</code> call may be thrown in this
- case.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>sock</code></strong> (socket) - a socket or socket-like object to create the session over.</li>
- </ul></dd>
- <dt>Overrides:
- object.__init__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns a string representation of this object, for debugging.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dt>Overrides:
- object.__repr__
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="accept"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">accept</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">timeout</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the next channel opened by the client over this transport, in
- server mode. If no channel is opened before the given timeout,
- <code>None</code> is returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>timeout</code></strong> (int) - seconds to wait for a channel, or <code>None</code> to wait
- forever</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Channel-class.html" class="link">Channel</a></dt>
- <dd>a new Channel opened by the client</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="add_server_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">add_server_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Add a host key to the list of keys used for server mode. When
- behaving as a server, the host key is used to sign certain packets during
- the SSH2 negotiation, so that the client can trust that we are who we say
- we are. Because this is used for signing, the key must contain private
- key info, not just the public half. Only one key of each type (RSA or
- DSS) is kept.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>key</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - the host key to add, usually an <a
- href="paramiko.RSAKey-class.html" class="link">RSAKey</a> or <a
- href="paramiko.DSSKey-class.html" class="link">DSSKey</a>.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="atfork"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">atfork</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Terminate this Transport without closing the session. On posix
- systems, if a Transport is open during process forking, both parent and
- child will share the underlying socket, but only one process can use the
- connection (without corrupting the session). Use this method to clean up
- a Transport object without disrupting the other process.</p>
- <dl class="fields">
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5.3
- </p>
-</div></td></tr></table>
-</div>
-<a name="auth_interactive"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">auth_interactive</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>,
- <span class="sig-arg">handler</span>,
- <span class="sig-arg">submethods</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Authenticate to the server interactively. A handler is used to answer
- arbitrary questions from the server. On many servers, this is just a
- dumb wrapper around PAM.</p>
- <p>This method will block until the authentication succeeds or fails,
- peroidically calling the handler asynchronously to get answers to
- authentication questions. The handler may be called more than once if
- the server continues to ask questions.</p>
- <p>The handler is expected to be a callable that will handle calls of the
- form: <code>handler(title, instructions, prompt_list)</code>. The
- <code>title</code> is meant to be a dialog-window title, and the
- <code>instructions</code> are user instructions (both are strings).
- <code>prompt_list</code> will be a list of prompts, each prompt being a
- tuple of <code>(str, bool)</code>. The string is the prompt and the
- boolean indicates whether the user text should be echoed.</p>
- <p>A sample call would thus be: <code>handler('title', 'instructions',
- [('Password:', False)])</code>.</p>
- <p>The handler should return a list or tuple of answers to the server's
- questions.</p>
- <p>If the server requires multi-step authentication (which is very rare),
- this method will return a list of auth types permissible for the next
- step. Otherwise, in the normal case, an empty list is returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (string) - the username to authenticate as</li>
- <li><strong class="pname"><code>handler</code></strong> (callable) - a handler for responding to server questions</li>
- <li><strong class="pname"><code>submethods</code></strong> (str) - a string list of desired submethods (optional)</li>
- </ul></dd>
- <dt>Returns: list</dt>
- <dd>list of auth types permissible for the next stage of
- authentication (normally empty).</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a></strong></code> - if public-key authentication isn't allowed by the server for this
- user</li>
- <li><code><strong class='fraise'><a href="paramiko.AuthenticationException-class.html">AuthenticationException</a></strong></code> - if the authentication failed</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if there was a network error</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5
- </p>
-</div></td></tr></table>
-</div>
-<a name="auth_none"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">auth_none</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Try to authenticate to the server using no authentication at all. This
- will almost always fail. It may be useful for determining the list of
- authentication types supported by the server, by catching the <a
- href="paramiko.BadAuthenticationType-class.html"
- class="link">BadAuthenticationType</a> exception raised.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (string) - the username to authenticate as</li>
- </ul></dd>
- <dt>Returns: list</dt>
- <dd>list of auth types permissible for the next stage of
- authentication (normally empty)</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a></strong></code> - if &quot;none&quot; authentication isn't allowed by the server for
- this user</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the authentication failed due to a network error</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5
- </p>
-</div></td></tr></table>
-</div>
-<a name="auth_password"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">auth_password</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>,
- <span class="sig-arg">password</span>,
- <span class="sig-arg">event</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">fallback</span>=<span class="sig-default">True</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Authenticate to the server using a password. The username and
- password are sent over an encrypted link.</p>
- <p>If an <code>event</code> is passed in, this method will return
- immediately, and the event will be triggered once authentication succeeds
- or fails. On success, <a
- href="paramiko.Transport-class.html#is_authenticated"
- class="link">is_authenticated</a> will return <code>True</code>. On
- failure, you may use <a
- href="paramiko.Transport-class.html#get_exception"
- class="link">get_exception</a> to get more detailed error
- information.</p>
- <p>Since 1.1, if no event is passed, this method will block until the
- authentication succeeds or fails. On failure, an exception is raised.
- Otherwise, the method simply returns.</p>
- <p>Since 1.5, if no event is passed and <code>fallback</code> is
- <code>True</code> (the default), if the server doesn't support plain
- password authentication but does support so-called
- &quot;keyboard-interactive&quot; mode, an attempt will be made to
- authenticate using this interactive mode. If it fails, the normal
- exception will be thrown as if the attempt had never been made. This is
- useful for some recent Gentoo and Debian distributions, which turn off
- plain password authentication in a misguided belief that interactive
- authentication is &quot;more secure&quot;. (It's not.)</p>
- <p>If the server requires multi-step authentication (which is very rare),
- this method will return a list of auth types permissible for the next
- step. Otherwise, in the normal case, an empty list is returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (str) - the username to authenticate as</li>
- <li><strong class="pname"><code>password</code></strong> (str or unicode) - the password to authenticate with</li>
- <li><strong class="pname"><code>event</code></strong> (threading.Event) - an event to trigger when the authentication attempt is complete
- (whether it was successful or not)</li>
- <li><strong class="pname"><code>fallback</code></strong> (bool) - <code>True</code> if an attempt at an automated
- &quot;interactive&quot; password auth should be made if the
- server doesn't support normal password auth</li>
- </ul></dd>
- <dt>Returns: list</dt>
- <dd>list of auth types permissible for the next stage of
- authentication (normally empty)</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a></strong></code> - if password authentication isn't allowed by the server for this
- user (and no event was passed in)</li>
- <li><code><strong class='fraise'><a href="paramiko.AuthenticationException-class.html">AuthenticationException</a></strong></code> - if the authentication failed (and no event was passed in)</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if there was a network error</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="auth_publickey"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">auth_publickey</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">username</span>,
- <span class="sig-arg">key</span>,
- <span class="sig-arg">event</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Authenticate to the server using a private key. The key is used to
- sign data from the server, so it must include the private part.</p>
- <p>If an <code>event</code> is passed in, this method will return
- immediately, and the event will be triggered once authentication succeeds
- or fails. On success, <a
- href="paramiko.Transport-class.html#is_authenticated"
- class="link">is_authenticated</a> will return <code>True</code>. On
- failure, you may use <a
- href="paramiko.Transport-class.html#get_exception"
- class="link">get_exception</a> to get more detailed error
- information.</p>
- <p>Since 1.1, if no event is passed, this method will block until the
- authentication succeeds or fails. On failure, an exception is raised.
- Otherwise, the method simply returns.</p>
- <p>If the server requires multi-step authentication (which is very rare),
- this method will return a list of auth types permissible for the next
- step. Otherwise, in the normal case, an empty list is returned.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>username</code></strong> (string) - the username to authenticate as</li>
- <li><strong class="pname"><code>key</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - the private key to authenticate with</li>
- <li><strong class="pname"><code>event</code></strong> (threading.Event) - an event to trigger when the authentication attempt is complete
- (whether it was successful or not)</li>
- </ul></dd>
- <dt>Returns: list</dt>
- <dd>list of auth types permissible for the next stage of
- authentication (normally empty)</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.BadAuthenticationType-class.html">BadAuthenticationType</a></strong></code> - if public-key authentication isn't allowed by the server for this
- user (and no event was passed in)</li>
- <li><code><strong class='fraise'><a href="paramiko.AuthenticationException-class.html">AuthenticationException</a></strong></code> - if the authentication failed (and no event was passed in)</li>
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if there was a network error</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="cancel_port_forward"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">cancel_port_forward</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">address</span>,
- <span class="sig-arg">port</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Ask the server to cancel a previous port-forwarding request. No more
- connections to the given address &amp; port will be forwarded across this
- ssh connection.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>address</code></strong> (str) - the address to stop forwarding</li>
- <li><strong class="pname"><code>port</code></strong> (int) - the port to stop forwarding</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="connect"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hostkey</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">username</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">password</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">pkey</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Negotiate an SSH2 session, and optionally verify the server's host key
- and authenticate using a password or private key. This is a shortcut for
- <a href="paramiko.Transport-class.html#start_client"
- class="link">start_client</a>, <a
- href="paramiko.Transport-class.html#get_remote_server_key"
- class="link">get_remote_server_key</a>, and <a
- href="paramiko.Transport-class.html#auth_password"
- class="link">Transport.auth_password</a> or <a
- href="paramiko.Transport-class.html#auth_publickey"
- class="link">Transport.auth_publickey</a>. Use those methods if you want
- more control.</p>
- <p>You can use this method immediately after creating a Transport to
- negotiate encryption with a server. If it fails, an exception will be
- thrown. On success, the method will return cleanly, and an encrypted
- session exists. You may immediately call <a
- href="paramiko.Transport-class.html#open_channel"
- class="link">open_channel</a> or <a
- href="paramiko.Transport-class.html#open_session"
- class="link">open_session</a> to get a <a
- href="paramiko.Channel-class.html" class="link">Channel</a> object, which
- is used for data transfer.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hostkey</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - the host key expected from the server, or <code>None</code> if
- you don't want to do host key verification.</li>
- <li><strong class="pname"><code>username</code></strong> (str) - the username to authenticate as.</li>
- <li><strong class="pname"><code>password</code></strong> (str) - a password to use for authentication, if you want to use password
- authentication; otherwise <code>None</code>.</li>
- <li><strong class="pname"><code>pkey</code></strong> (<a href="paramiko.PKey-class.html" class="link">PKey</a>) - a private key to use for authentication, if you want to use
- private key authentication; otherwise <code>None</code>.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the SSH2 negotiation fails, the host key supplied by the server
- is incorrect, or authentication fails.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- If you fail to supply a password or private key, this method may
- succeed, but a subsequent <a
- href="paramiko.Transport-class.html#open_channel"
- class="link">open_channel</a> or <a
- href="paramiko.Transport-class.html#open_session"
- class="link">open_session</a> call may fail because you haven't
- authenticated yet.
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_exception"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_exception</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return any exception that happened during the last server request.
- This can be used to fetch more specific error information after using
- calls like <a href="paramiko.Transport-class.html#start_client"
- class="link">start_client</a>. The exception (if any) is cleared after
- this call.</p>
- <dl class="fields">
- <dt>Returns: Exception</dt>
- <dd>an exception, or <code>None</code> if there is no stored
- exception.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_hexdump"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_hexdump</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return <code>True</code> if the transport is currently logging hex
- dumps of protocol traffic.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd><code>True</code> if hex dumps are being logged</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.4
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_log_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_log_channel</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the channel name used for this transport's logging.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>channel name.</dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.2
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_remote_server_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_remote_server_key</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the host key of the server (in client mode).</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.PKey-class.html" class="link">PKey</a></dt>
- <dd>public key of the remote server</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if no session is currently active.</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- Previously this call returned a tuple of (key type, key string).
- You can get the same effect by calling <a
- href="paramiko.PKey-class.html#get_name"
- class="link">PKey.get_name</a> for the key type, and
- <code>str(key)</code> for the key string.
- </p>
-</div></td></tr></table>
-</div>
-<a name="get_security_options"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_security_options</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return a <a href="paramiko.SecurityOptions-class.html"
- class="link">SecurityOptions</a> object which can be used to tweak the
- encryption algorithms this transport will permit, and the order of
- preference for them.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.SecurityOptions-class.html"
- class="link">SecurityOptions</a></dt>
- <dd>an object that can be used to change the preferred algorithms for
- encryption, digest (hash), public key, and key exchange.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_server_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_server_key</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the active host key, in server mode. After negotiating with
- the client, this method will return the negotiated host key. If only one
- type of host key was set with <a
- href="paramiko.Transport-class.html#add_server_key"
- class="link">add_server_key</a>, that's the only key that will ever be
- returned. But in cases where you have set more than one type of host key
- (for example, an RSA key and a DSS key), the key type will be negotiated
- by the client, and this method will return the key of the type agreed on.
- If the host key has not been negotiated yet, <code>None</code> is
- returned. In client mode, the behavior is undefined.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.PKey-class.html" class="link">PKey</a></dt>
- <dd>host key of the type negotiated by the client, or
- <code>None</code>.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="get_username"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">get_username</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the username this connection is authenticated for. If the
- session is not authenticated (or authentication failed), this method
- returns <code>None</code>.</p>
- <dl class="fields">
- <dt>Returns: string</dt>
- <dd>username that was authenticated, or <code>None</code>.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="getpeername"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">getpeername</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the address of the remote side of this Transport, if possible.
- This is effectively a wrapper around <code>'getpeername'</code> on the
- underlying socket. If the socket-like object has no
- <code>'getpeername'</code> method, then <code>(&quot;unknown&quot;,
- 0)</code> is returned.</p>
- <dl class="fields">
- <dt>Returns: tuple(str, int)</dt>
- <dd>the address if the remote host, if known</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="global_request"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">global_request</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">kind</span>,
- <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">wait</span>=<span class="sig-default">True</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Make a global request to the remote host. These are normally
- extensions to the SSH2 protocol.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>kind</code></strong> (str) - name of the request.</li>
- <li><strong class="pname"><code>data</code></strong> (tuple) - an optional tuple containing additional data to attach to the
- request.</li>
- <li><strong class="pname"><code>wait</code></strong> (bool) - <code>True</code> if this method should not return until a
- response is received; <code>False</code> otherwise.</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Message-class.html" class="link">Message</a></dt>
- <dd>a <a href="paramiko.Message-class.html" class="link">Message</a>
- containing possible additional data if the request was successful
- (or an empty <a href="paramiko.Message-class.html"
- class="link">Message</a> if <code>wait</code> was
- <code>False</code>); <code>None</code> if the request was denied.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="is_active"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">is_active</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return true if this session is active (open).</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd>True if the session is still active (open); False if the session
- is closed</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="is_authenticated"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">is_authenticated</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return true if this session is active and authenticated.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd>True if the session is still open and has been authenticated
- successfully; False if authentication failed and/or the session
- is closed.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="load_server_moduli"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">load_server_moduli</span>(<span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
- <br /><em class="fname">Static Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko-pysrc.html#Transport.load_server_moduli">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p><i>(optional)</i> Load a file of prime moduli for use in doing
- group-exchange key negotiation in server mode. It's a rather obscure
- option and can be safely ignored.</p>
- <p>In server mode, the remote client may request
- &quot;group-exchange&quot; key negotiation, which asks the server to send
- a random prime number that fits certain criteria. These primes are
- pretty difficult to compute, so they can't be generated on demand. But
- many systems contain a file of suitable primes (usually named something
- like <code>/etc/ssh/moduli</code>). If you call
- <code>load_server_moduli</code> and it returns <code>True</code>, then
- this file of primes has been loaded and we will support
- &quot;group-exchange&quot; in server mode. Otherwise server mode will
- just claim that it doesn't support that method of key negotiation.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - optional path to the moduli file, if you happen to know that it's
- not in a standard location.</li>
- </ul></dd>
- <dt>Returns: bool</dt>
- <dd>True if a moduli file was successfully loaded; False otherwise.</dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- This has no effect when used in client mode.
- </p>
-</div></td></tr></table>
-</div>
-<a name="open_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open_channel</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">kind</span>,
- <span class="sig-arg">dest_addr</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">src_addr</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request a new channel to the server. <a
- href="paramiko.Channel-class.html" class="link">Channel</a>s are
- socket-like objects used for the actual transfer of data across the
- session. You may only request a channel after negotiating encryption
- (using <a href="paramiko.Transport-class.html#connect"
- class="link">connect</a> or <a
- href="paramiko.Transport-class.html#start_client"
- class="link">start_client</a>) and authenticating.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>kind</code></strong> (str) - the kind of channel requested (usually
- <code>&quot;session&quot;</code>,
- <code>&quot;forwarded-tcpip&quot;</code>,
- <code>&quot;direct-tcpip&quot;</code>, or
- <code>&quot;x11&quot;</code>)</li>
- <li><strong class="pname"><code>dest_addr</code></strong> ((str, int)) - the destination address of this port forwarding, if
- <code>kind</code> is <code>&quot;forwarded-tcpip&quot;</code> or
- <code>&quot;direct-tcpip&quot;</code> (ignored for other channel
- types)</li>
- <li><strong class="pname"><code>src_addr</code></strong> ((str, int)) - the source address of this port forwarding, if <code>kind</code>
- is <code>&quot;forwarded-tcpip&quot;</code>,
- <code>&quot;direct-tcpip&quot;</code>, or
- <code>&quot;x11&quot;</code></li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Channel-class.html" class="link">Channel</a></dt>
- <dd>a new <a href="paramiko.Channel-class.html"
- class="link">Channel</a> on success</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request is rejected or the session ends prematurely</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open_forwarded_tcpip_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open_forwarded_tcpip_channel</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">(src_addr, src_port)</span>,
- <span class="sig-arg">(dest_addr, dest_port)</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request a new channel back to the client, of type
- <code>&quot;forwarded-tcpip&quot;</code>. This is used after a client has
- requested port forwarding, for sending incoming connections back to the
- client.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>src_addr</code></strong> - originator's address</li>
- <li><strong class="pname"><code>src_port</code></strong> - originator's port</li>
- <li><strong class="pname"><code>dest_addr</code></strong> - local (server) connected address</li>
- <li><strong class="pname"><code>dest_port</code></strong> - local (server) connected port</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open_session"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open_session</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request a new channel to the server, of type
- <code>&quot;session&quot;</code>. This is just an alias for
- <code>open_channel('session')</code>.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.Channel-class.html" class="link">Channel</a></dt>
- <dd>a new <a href="paramiko.Channel-class.html"
- class="link">Channel</a></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request is rejected or the session ends prematurely</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open_sftp_client"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open_sftp_client</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Create an SFTP client channel from an open transport. On success, an
- SFTP session will be opened with the remote host, and a new SFTPClient
- object will be returned.</p>
- <dl class="fields">
- <dt>Returns: <a href="paramiko.SFTPClient-class.html" class="link">SFTPClient</a></dt>
- <dd>a new <a href="paramiko.SFTPClient-class.html"
- class="link">SFTPClient</a> object, referring to an sftp session
- (channel) across this transport</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="open_x11_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">open_x11_channel</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">src_addr</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Request a new channel to the client, of type
- <code>&quot;x11&quot;</code>. This is just an alias for
- <code>open_channel('x11', src_addr=src_addr)</code>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>src_addr</code></strong> ((str, int)) - the source address of the x11 server (port is the x11 port, ie.
- 6010)</li>
- </ul></dd>
- <dt>Returns: <a href="paramiko.Channel-class.html" class="link">Channel</a></dt>
- <dd>a new <a href="paramiko.Channel-class.html"
- class="link">Channel</a></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the request is rejected or the session ends prematurely</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="renegotiate_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">renegotiate_keys</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Force this session to switch to new keys. Normally this is done
- automatically after the session hits a certain number of packets or bytes
- sent or received, but this method gives you the option of forcing new
- keys whenever you want. Negotiating new keys causes a pause in traffic
- both ways as the two sides swap keys and do computations. This method
- returns when the session has switched to new keys.</p>
- <dl class="fields">
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the key renegotiation failed (which causes the session to end)</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="request_port_forward"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">request_port_forward</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">address</span>,
- <span class="sig-arg">port</span>,
- <span class="sig-arg">handler</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Ask the server to forward TCP connections from a listening port on the
- server, across this SSH session.</p>
- <p>If a handler is given, that handler is called from a different thread
- whenever a forwarded connection arrives. The handler parameters are:</p>
-<pre class="literalblock">
- handler(channel, (origin_addr, origin_port), (server_addr, server_port))
-</pre>
- <p>where <code>server_addr</code> and <code>server_port</code> are the
- address and port that the server was listening on.</p>
- <p>If no handler is set, the default behavior is to send new incoming
- forwarded connections into the accept queue, to be picked up via <a
- href="paramiko.Transport-class.html#accept" class="link">accept</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>address</code></strong> (str) - the address to bind when forwarding</li>
- <li><strong class="pname"><code>port</code></strong> (int) - the port to forward, or 0 to ask the server to allocate any port</li>
- <li><strong class="pname"><code>handler</code></strong> (function(Channel, (str, int), (str, int))) - optional handler for incoming forwarded connections</li>
- </ul></dd>
- <dt>Returns: int</dt>
- <dd>the port # allocated by the server</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if the server refused the TCP forward request</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="run"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">run</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
-
- <dl class="fields">
- <dt>Overrides:
- threading.Thread.run
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="send_ignore"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">send_ignore</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">bytes</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Send a junk packet across the encrypted link. This is sometimes used
- to add &quot;noise&quot; to a connection to confuse would-be attackers.
- It can also be used as a keep-alive for long lived connections traversing
- firewalls.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>bytes</code></strong> (int) - the number of random bytes to send in the payload of the ignored
- packet -- defaults to a random number from 10 to 41.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_hexdump"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_hexdump</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">hexdump</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Turn on/off logging a hex dump of protocol traffic at DEBUG level in
- the logs. Normally you would want this off (which is the default), but
- if you are debugging something, it may be useful.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hexdump</code></strong> (bool) - <code>True</code> to log protocol traffix (in hex) to the log;
- <code>False</code> otherwise.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_keepalive"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_keepalive</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">interval</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Turn on/off keepalive packets (default is off). If this is set, after
- <code>interval</code> seconds without sending any data over the
- connection, a &quot;keepalive&quot; packet will be sent (and ignored by
- the remote host). This can be useful to keep connections alive over a
- NAT, for example.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>interval</code></strong> (int) - seconds to wait before sending a keepalive packet (or 0 to
- disable keepalives).</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_log_channel"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_log_channel</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">name</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the channel for this transport's logging. The default is
- <code>&quot;paramiko.transport&quot;</code> but it can be set to anything
- you want. (See the <code>logging</code> module for more info.) SSH
- Channels will log to a sub-channel of the one specified.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>name</code></strong> (str) - new channel name for logging</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.1
- </p>
-</div></td></tr></table>
-</div>
-<a name="set_subsystem_handler"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_subsystem_handler</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">name</span>,
- <span class="sig-arg">handler</span>,
- <span class="sig-arg">*larg</span>,
- <span class="sig-arg">**kwarg</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set the handler class for a subsystem in server mode. If a request
- for this subsystem is made on an open ssh channel later, this handler
- will be constructed and called -- see <a
- href="paramiko.SubsystemHandler-class.html"
- class="link">SubsystemHandler</a> for more detailed documentation.</p>
- <p>Any extra parameters (including keyword arguments) are saved and
- passed to the <a href="paramiko.SubsystemHandler-class.html"
- class="link">SubsystemHandler</a> constructor later.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>name</code></strong> (str) - name of the subsystem.</li>
- <li><strong class="pname"><code>handler</code></strong> (class) - subclass of <a href="paramiko.SubsystemHandler-class.html"
- class="link">SubsystemHandler</a> that handles this subsystem.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="start_client"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">start_client</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">event</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Negotiate a new SSH2 session as a client. This is the first step
- after creating a new <a href="paramiko.Transport-class.html"
- class="link">Transport</a>. A separate thread is created for protocol
- negotiation.</p>
- <p>If an event is passed in, this method returns immediately. When
- negotiation is done (successful or not), the given <code>Event</code>
- will be triggered. On failure, <a
- href="paramiko.Transport-class.html#is_active" class="link">is_active</a>
- will return <code>False</code>.</p>
- <p>(Since 1.4) If <code>event</code> is <code>None</code>, this method
- will not return until negotation is done. On success, the method returns
- normally. Otherwise an SSHException is raised.</p>
- <p>After a successful negotiation, you will usually want to authenticate,
- calling <a href="paramiko.Transport-class.html#auth_password"
- class="link">auth_password</a> or <a
- href="paramiko.Transport-class.html#auth_publickey"
- class="link">auth_publickey</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>event</code></strong> (threading.Event) - an event to trigger when negotiation is complete (optional)</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if negotiation fails (and no <code>event</code> was passed in)</li>
- </ul></dd>
- </dl>
-<div class="fields"> <strong>Notes:</strong>
- <ul class="nomargin-top">
- <li>
- <a href="paramiko.Transport-class.html#connect"
- class="link">connect</a> is a simpler method for connecting as a
- client.
- </li>
- <li>
- After calling this method (or <a
- href="paramiko.Transport-class.html#start_server"
- class="link">start_server</a> or <a
- href="paramiko.Transport-class.html#connect"
- class="link">connect</a>), you should no longer directly read from
- or write to the original socket object.
- </li>
- </ul>
-</div></td></tr></table>
-</div>
-<a name="start_server"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">start_server</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">event</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">server</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Negotiate a new SSH2 session as a server. This is the first step
- after creating a new <a href="paramiko.Transport-class.html"
- class="link">Transport</a> and setting up your server host key(s). A
- separate thread is created for protocol negotiation.</p>
- <p>If an event is passed in, this method returns immediately. When
- negotiation is done (successful or not), the given <code>Event</code>
- will be triggered. On failure, <a
- href="paramiko.Transport-class.html#is_active" class="link">is_active</a>
- will return <code>False</code>.</p>
- <p>(Since 1.4) If <code>event</code> is <code>None</code>, this method
- will not return until negotation is done. On success, the method returns
- normally. Otherwise an SSHException is raised.</p>
- <p>After a successful negotiation, the client will need to authenticate.
- Override the methods <a
- href="paramiko.ServerInterface-class.html#get_allowed_auths"
- class="link">get_allowed_auths</a>, <a
- href="paramiko.ServerInterface-class.html#check_auth_none"
- class="link">check_auth_none</a>, <a
- href="paramiko.ServerInterface-class.html#check_auth_password"
- class="link">check_auth_password</a>, and <a
- href="paramiko.ServerInterface-class.html#check_auth_publickey"
- class="link">check_auth_publickey</a> in the given <code>server</code>
- object to control the authentication process.</p>
- <p>After a successful authentication, the client should request to open a
- channel. Override <a
- href="paramiko.ServerInterface-class.html#check_channel_request"
- class="link">check_channel_request</a> in the given <code>server</code>
- object to allow channels to be opened.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>event</code></strong> (threading.Event) - an event to trigger when negotiation is complete.</li>
- <li><strong class="pname"><code>server</code></strong> (<a href="paramiko.ServerInterface-class.html"
- class="link">server.ServerInterface</a>) - an object used to perform authentication and create <a
- href="paramiko.Channel-class.html" class="link">Channel</a>s.</li>
- </ul></dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.SSHException-class.html">SSHException</a></strong></code> - if negotiation fails (and no <code>event</code> was passed in)</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Note:</strong>
- After calling this method (or <a
- href="paramiko.Transport-class.html#start_client"
- class="link">start_client</a> or <a
- href="paramiko.Transport-class.html#connect"
- class="link">connect</a>), you should no longer directly read from
- or write to the original socket object.
- </p>
-</div></td></tr></table>
-</div>
-<a name="use_compression"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">use_compression</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">compress</span>=<span class="sig-default">True</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Turn on/off compression. This will only have an affect before
- starting the transport (ie before calling <a
- href="paramiko.Transport-class.html#connect" class="link">connect</a>,
- etc). By default, compression is off since it negatively affects
- interactive sessions.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>compress</code></strong> (bool) - <code>True</code> to ask the remote client/server to compress
- traffic; <code>False</code> to refuse compression</li>
- </ul></dd>
- </dl>
-<div class="fields"> <p><strong>Since:</strong>
- 1.5.2
- </p>
-</div></td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.WarningPolicy-class.html b/docs/paramiko.WarningPolicy-class.html
deleted file mode 100644
index 66be09e..0000000
--- a/docs/paramiko.WarningPolicy-class.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.WarningPolicy</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Class&nbsp;WarningPolicy
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.WarningPolicy-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class WarningPolicy</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#WarningPolicy">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-<a href="paramiko.MissingHostKeyPolicy-class.html">MissingHostKeyPolicy</a> --+
- |
- <strong class="uidshort">WarningPolicy</strong>
-</pre>
-
-<hr />
-<p>Policy for logging a python-style warning for an unknown host key, but
- accepting it. This is used by <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.WarningPolicy-class.html#missing_host_key" class="summary-sig-name">missing_host_key</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">client</span>,
- <span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">key</span>)</span><br />
- Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that
- isn't in either the system or local <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a> object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__init__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="missing_host_key"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">missing_host_key</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">client</span>,
- <span class="sig-arg">hostname</span>,
- <span class="sig-arg">key</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Called when an <a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a> receives a server key for a server that isn't
- in either the system or local <a href="paramiko.HostKeys-class.html"
- class="link">HostKeys</a> object. To accept the key, simply return. To
- reject, raised an exception (which will be passed to the calling
- application).</p>
- <dl class="fields">
- <dt>Overrides:
- <a href="paramiko.MissingHostKeyPolicy-class.html#missing_host_key">MissingHostKeyPolicy.missing_host_key</a>
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.agent-module.html b/docs/paramiko.agent-module.html
deleted file mode 100644
index ba9a85a..0000000
--- a/docs/paramiko.agent-module.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.agent</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;agent
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.agent-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module agent</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.agent-pysrc.html">source&nbsp;code</a></span></p>
-<p>SSH Agent interface for Unix clients.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SSH2_AGENTC_REQUEST_IDENTITIES"></a><span class="summary-name">SSH2_AGENTC_REQUEST_IDENTITIES</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SSH2_AGENTC_SIGN_REQUEST"></a><span class="summary-name">SSH2_AGENTC_SIGN_REQUEST</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SSH2_AGENT_IDENTITIES_ANSWER"></a><span class="summary-name">SSH2_AGENT_IDENTITIES_ANSWER</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SSH2_AGENT_SIGN_RESPONSE"></a><span class="summary-name">SSH2_AGENT_SIGN_RESPONSE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.agent-pysrc.html b/docs/paramiko.agent-pysrc.html
deleted file mode 100644
index c83bde8..0000000
--- a/docs/paramiko.agent-pysrc.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.agent</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;agent
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.agent-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.agent-module.html" onclick="show_private();">Module paramiko.agent</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 John Rochester &lt;john@jrochester.org&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">SSH Agent interface for Unix clients.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-1', 'ssh_exception', 'link-1');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-2', 'SSHException', 'link-2');">SSHException</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-3', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-4', 'message', 'link-4');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-5', 'Message', 'link-5');">Message</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-6', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Module paramiko.pkey=paramiko.pkey-module.html"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-7', 'pkey', 'link-7');">pkey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class paramiko.PKey=paramiko.PKey-class.html"><a title="paramiko.PKey" class="py-name" href="#" onclick="return doclink('link-8', 'PKey', 'link-8');">PKey</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable paramiko.agent.SSH2_AGENTC_REQUEST_IDENTITIES=paramiko.agent-module.html#SSH2_AGENTC_REQUEST_IDENTITIES"><a title="paramiko.agent.SSH2_AGENTC_REQUEST_IDENTITIES" class="py-name" href="#" onclick="return doclink('link-9', 'SSH2_AGENTC_REQUEST_IDENTITIES', 'link-9');">SSH2_AGENTC_REQUEST_IDENTITIES</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Variable paramiko.agent.SSH2_AGENT_IDENTITIES_ANSWER=paramiko.agent-module.html#SSH2_AGENT_IDENTITIES_ANSWER"><a title="paramiko.agent.SSH2_AGENT_IDENTITIES_ANSWER" class="py-name" href="#" onclick="return doclink('link-10', 'SSH2_AGENT_IDENTITIES_ANSWER', 'link-10');">SSH2_AGENT_IDENTITIES_ANSWER</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Variable paramiko.agent.SSH2_AGENTC_SIGN_REQUEST=paramiko.agent-module.html#SSH2_AGENTC_SIGN_REQUEST"><a title="paramiko.agent.SSH2_AGENTC_SIGN_REQUEST" class="py-name" href="#" onclick="return doclink('link-11', 'SSH2_AGENTC_SIGN_REQUEST', 'link-11');">SSH2_AGENTC_SIGN_REQUEST</a></tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Variable paramiko.agent.SSH2_AGENT_SIGN_RESPONSE=paramiko.agent-module.html#SSH2_AGENT_SIGN_RESPONSE"><a title="paramiko.agent.SSH2_AGENT_SIGN_RESPONSE" class="py-name" href="#" onclick="return doclink('link-12', 'SSH2_AGENT_SIGN_RESPONSE', 'link-12');">SSH2_AGENT_SIGN_RESPONSE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">11</tt><tt class="py-op">,</tt> <tt class="py-number">15</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="Agent"></a><div id="Agent-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="Agent-toggle" onclick="return toggle('Agent');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.agent.Agent-class.html">Agent</a><tt class="py-op">:</tt> </tt>
-</div><div id="Agent-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Agent-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> Client interface for using private keys from an SSH agent running on the</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> local machine. If an SSH agent is running, this class can be used to</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> connect to it and retreive L{PKey} objects which can be used when</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> attempting to authenticate to remote SSH servers.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> Because the SSH agent protocol uses environment variables and unix-domain</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> sockets, this probably doesn't work on Windows. It does work on most</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> posix platforms though (Linux and MacOS X, for example).</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
-<a name="Agent.__init__"></a><div id="Agent.__init__-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="Agent.__init__-toggle" onclick="return toggle('Agent.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.Agent-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Agent.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Agent.__init__-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> Open a session with the local machine's SSH agent, if one is running.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> If no agent is running, initialization will succeed, but L{get_keys}</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> will return an empty tuple.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if an SSH agent is found, but speaks an</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> incompatible protocol</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-13', 'keys', 'link-13');">keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'SSH_AUTH_SOCK'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">platform</tt> <tt class="py-op">!=</tt> <tt class="py-string">'win32'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">conn</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_UNIX</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">conn</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.SSHClient.connect()=paramiko.SSHClient-class.html#connect,Method paramiko.Transport.connect()=paramiko.Transport-class.html#connect"><a title="paramiko.SSHClient.connect
-paramiko.Transport.connect" class="py-name" href="#" onclick="return doclink('link-14', 'connect', 'link-14');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'SSH_AUTH_SOCK'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># probably a dangling env var: the ssh agent is gone</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt> <tt class="py-op">=</tt> <tt class="py-name">conn</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">platform</tt> <tt class="py-op">==</tt> <tt class="py-string">'win32'</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Module paramiko.win_pageant=paramiko.win_pageant-module.html"><a title="paramiko.win_pageant" class="py-name" href="#" onclick="return doclink('link-15', 'win_pageant', 'link-15');">win_pageant</a></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-16" class="py-name"><a title="paramiko.win_pageant" class="py-name" href="#" onclick="return doclink('link-16', 'win_pageant', 'link-15');">win_pageant</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Function paramiko.win_pageant.can_talk_to_agent()=paramiko.win_pageant-module.html#can_talk_to_agent"><a title="paramiko.win_pageant.can_talk_to_agent" class="py-name" href="#" onclick="return doclink('link-17', 'can_talk_to_agent', 'link-17');">can_talk_to_agent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="paramiko.win_pageant" class="py-name" href="#" onclick="return doclink('link-18', 'win_pageant', 'link-15');">win_pageant</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Class paramiko.win_pageant.PageantConnection=paramiko.win_pageant.PageantConnection-class.html"><a title="paramiko.win_pageant.PageantConnection" class="py-name" href="#" onclick="return doclink('link-19', 'PageantConnection', 'link-19');">PageantConnection</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-comment"># no agent support</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">ptype</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="paramiko.agent.SSH2_AGENTC_REQUEST_IDENTITIES" class="py-name" href="#" onclick="return doclink('link-20', 'SSH2_AGENTC_REQUEST_IDENTITIES', 'link-9');">SSH2_AGENTC_REQUEST_IDENTITIES</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ptype</tt> <tt class="py-op">!=</tt> <tt id="link-21" class="py-name"><a title="paramiko.agent.SSH2_AGENT_IDENTITIES_ANSWER" class="py-name" href="#" onclick="return doclink('link-21', 'SSH2_AGENT_IDENTITIES_ANSWER', 'link-10');">SSH2_AGENT_IDENTITIES_ANSWER</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-22" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-22', 'SSHException', 'link-2');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'could not get keys from ssh-agent'</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt id="link-23" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-23', 'keys', 'link-13');">keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-24', 'get_int', 'link-24');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-25', 'keys', 'link-13');">keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name" targets="Class paramiko.AgentKey=paramiko.AgentKey-class.html"><a title="paramiko.AgentKey" class="py-name" href="#" onclick="return doclink('link-26', 'AgentKey', 'link-26');">AgentKey</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-27', 'get_string', 'link-27');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-28', 'get_string', 'link-27');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-29', 'keys', 'link-13');">keys</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-30', 'keys', 'link-13');">keys</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
-<a name="Agent.close"></a><div id="Agent.close-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="Agent.close-toggle" onclick="return toggle('Agent.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.Agent-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Agent.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Agent.close-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> Close the SSH agent connection.</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-31', 'close', 'link-31');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-32', 'keys', 'link-13');">keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
-<a name="Agent.get_keys"></a><div id="Agent.get_keys-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="Agent.get_keys-toggle" onclick="return toggle('Agent.get_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.Agent-class.html#get_keys">get_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Agent.get_keys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Agent.get_keys-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> Return the list of keys available through the SSH agent, if any. If</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> no SSH agent was running (or it couldn't be contacted), an empty list</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> will be returned.</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> @return: a list of keys available on the SSH agent</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: tuple of L{AgentKey}</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-33', 'keys', 'link-13');">keys</a></tt> </tt>
-</div><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> </tt>
-<a name="Agent._send_message"></a><div id="Agent._send_message-def"><a name="L107"></a><tt class="py-lineno">107</tt> <a class="py-toggle" href="#" id="Agent._send_message-toggle" onclick="return toggle('Agent._send_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.Agent-class.html#_send_message">_send_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Agent._send_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Agent._send_message-expanded"><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method paramiko.Channel.send()=paramiko.Channel-class.html#send,Method paramiko.win_pageant.PageantConnection.send()=paramiko.win_pageant.PageantConnection-class.html#send"><a title="paramiko.Channel.send
-paramiko.win_pageant.PageantConnection.send" class="py-name" href="#" onclick="return doclink('link-34', 'send', 'link-34');">send</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_all</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-35', 'Message', 'link-5');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_all</tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method paramiko.Message.get_byte()=paramiko.Message-class.html#get_byte"><a title="paramiko.Message.get_byte" class="py-name" href="#" onclick="return doclink('link-36', 'get_byte', 'link-36');">get_byte</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> </tt>
-</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
-<a name="Agent._read_all"></a><div id="Agent._read_all-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="Agent._read_all-toggle" onclick="return toggle('Agent._read_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.Agent-class.html#_read_all">_read_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">wanted</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Agent._read_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Agent._read_all-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method paramiko.Channel.recv()=paramiko.Channel-class.html#recv,Method paramiko.win_pageant.PageantConnection.recv()=paramiko.win_pageant.PageantConnection-class.html#recv"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-37', 'recv', 'link-37');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">wanted</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">wanted</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-38" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-38', 'SSHException', 'link-2');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'lost ssh-agent'</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">extra</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">conn</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-39', 'recv', 'link-37');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">wanted</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">extra</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-40" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-40', 'SSHException', 'link-2');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'lost ssh-agent'</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt class="py-name">extra</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div></div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
-<a name="AgentKey"></a><div id="AgentKey-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="AgentKey-toggle" onclick="return toggle('AgentKey');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.agent.AgentKey-class.html">AgentKey</a><tt class="py-op">(</tt><tt class="py-base-class">PKey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AgentKey-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AgentKey-expanded"><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> Private key held in a local SSH agent. This type of key can be used for</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> authenticating to a remote server (signing). Most other key operations</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> work as expected.</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
-<a name="AgentKey.__init__"></a><div id="AgentKey.__init__-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="AgentKey.__init__-toggle" onclick="return toggle('AgentKey.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.AgentKey-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">agent</tt><tt class="py-op">,</tt> <tt class="py-param">blob</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AgentKey.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AgentKey.__init__-expanded"><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Module paramiko.agent=paramiko.agent-module.html"><a title="paramiko.agent" class="py-name" href="#" onclick="return doclink('link-41', 'agent', 'link-41');">agent</a></tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="paramiko.agent" class="py-name" href="#" onclick="return doclink('link-42', 'agent', 'link-41');">agent</a></tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blob</tt> <tt class="py-op">=</tt> <tt class="py-name">blob</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-43', 'name', 'link-43');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-44', 'Message', 'link-5');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">blob</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-45', 'get_string', 'link-27');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
-<a name="AgentKey.__str__"></a><div id="AgentKey.__str__-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="AgentKey.__str__-toggle" onclick="return toggle('AgentKey.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.AgentKey-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AgentKey.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AgentKey.__str__-expanded"><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blob</tt> </tt>
-</div><a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> </tt>
-<a name="AgentKey.get_name"></a><div id="AgentKey.get_name-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="AgentKey.get_name-toggle" onclick="return toggle('AgentKey.get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.AgentKey-class.html#get_name">get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AgentKey.get_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AgentKey.get_name-expanded"><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-46', 'name', 'link-43');">name</a></tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
-<a name="AgentKey.sign_ssh_data"></a><div id="AgentKey.sign_ssh_data-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="AgentKey.sign_ssh_data-toggle" onclick="return toggle('AgentKey.sign_ssh_data');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.agent.AgentKey-class.html#sign_ssh_data">sign_ssh_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">rng</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AgentKey.sign_ssh_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AgentKey.sign_ssh_data-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-47', 'Message', 'link-5');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-48', 'add_byte', 'link-48');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-49" class="py-name"><a title="paramiko.agent.SSH2_AGENTC_SIGN_REQUEST" class="py-name" href="#" onclick="return doclink('link-49', 'SSH2_AGENTC_SIGN_REQUEST', 'link-11');">SSH2_AGENTC_SIGN_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-50', 'add_string', 'link-50');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blob</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-51', 'add_string', 'link-50');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-52', 'add_int', 'link-52');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">ptype</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="paramiko.agent" class="py-name" href="#" onclick="return doclink('link-53', 'agent', 'link-41');">agent</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ptype</tt> <tt class="py-op">!=</tt> <tt id="link-54" class="py-name"><a title="paramiko.agent.SSH2_AGENT_SIGN_RESPONSE" class="py-name" href="#" onclick="return doclink('link-54', 'SSH2_AGENT_SIGN_RESPONSE', 'link-12');">SSH2_AGENT_SIGN_RESPONSE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-55" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-55', 'SSHException', 'link-2');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'key cannot be used for signing'</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-56', 'get_string', 'link-27');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.auth_handler-module.html b/docs/paramiko.auth_handler-module.html
deleted file mode 100644
index fb61b0d..0000000
--- a/docs/paramiko.auth_handler-module.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.auth_handler</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;auth_handler
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.auth_handler-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module auth_handler</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.auth_handler-pysrc.html">source&nbsp;code</a></span></p>
-<p>AuthHandler</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.auth_handler-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.auth_handler-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.auth_handler-pysrc.html b/docs/paramiko.auth_handler-pysrc.html
deleted file mode 100644
index 5015ec8..0000000
--- a/docs/paramiko.auth_handler-pysrc.html
+++ /dev/null
@@ -1,1514 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.auth_handler</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;auth_handler
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.auth_handler-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.auth_handler-module.html" onclick="show_private();">Module paramiko.auth_handler</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{AuthHandler}</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">weakref</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-comment"># this helps freezing utils</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">encodings</tt><tt class="py-op">.</tt><tt class="py-name">utf_8</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-6', 'Message', 'link-6');">Message</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-8', 'ssh_exception', 'link-8');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-9', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Class paramiko.AuthenticationException=paramiko.AuthenticationException-class.html"><a title="paramiko.AuthenticationException" class="py-name" href="#" onclick="return doclink('link-10', 'AuthenticationException', 'link-10');">AuthenticationException</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Class paramiko.BadAuthenticationType=paramiko.BadAuthenticationType-class.html"><a title="paramiko.BadAuthenticationType" class="py-name" href="#" onclick="return doclink('link-11', 'BadAuthenticationType', 'link-11');">BadAuthenticationType</a></tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Class paramiko.ssh_exception.PartialAuthentication=paramiko.ssh_exception.PartialAuthentication-class.html"><a title="paramiko.ssh_exception.PartialAuthentication" class="py-name" href="#" onclick="return doclink('link-12', 'PartialAuthentication', 'link-12');">PartialAuthentication</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-13', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module paramiko.server=paramiko.server-module.html"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-14', 'server', 'link-14');">server</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">InteractiveQuery</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler"></a><div id="AuthHandler-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="AuthHandler-toggle" onclick="return toggle('AuthHandler');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html">AuthHandler</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AuthHandler-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> Internal class to handle the mechanics of authentication.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.__init__"></a><div id="AuthHandler.__init__-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="AuthHandler.__init__-toggle" onclick="return toggle('AuthHandler.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.__init__-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-15', 'transport', 'link-15');">transport</a></tt> <tt class="py-op">=</tt> <tt class="py-name">weakref</tt><tt class="py-op">.</tt><tt class="py-name">proxy</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-16', 'transport', 'link-15');">transport</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">interactive_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">submethods</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-comment"># for server mode:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_fail_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.is_authenticated"></a><div id="AuthHandler.is_authenticated-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="AuthHandler.is_authenticated-toggle" onclick="return toggle('AuthHandler.is_authenticated');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#is_authenticated">is_authenticated</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.is_authenticated-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.is_authenticated-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.get_username"></a><div id="AuthHandler.get_username-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="AuthHandler.get_username-toggle" onclick="return toggle('AuthHandler.get_username');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#get_username">get_username</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.get_username-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.get_username-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-17', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.auth_none"></a><div id="AuthHandler.auth_none-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="AuthHandler.auth_none-toggle" onclick="return toggle('AuthHandler.auth_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#auth_none">auth_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.auth_none-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.auth_none-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-18', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">=</tt> <tt class="py-string">'none'</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">username</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-19', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.auth_publickey"></a><div id="AuthHandler.auth_publickey-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="AuthHandler.auth_publickey-toggle" onclick="return toggle('AuthHandler.auth_publickey');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#auth_publickey">auth_publickey</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.auth_publickey-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.auth_publickey-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-20', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">=</tt> <tt class="py-string">'publickey'</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">username</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-21', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.auth_password"></a><div id="AuthHandler.auth_password-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="AuthHandler.auth_password-toggle" onclick="return toggle('AuthHandler.auth_password');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#auth_password">auth_password</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.auth_password-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.auth_password-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-22', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">=</tt> <tt class="py-string">'password'</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">username</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">password</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-23', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.auth_interactive"></a><div id="AuthHandler.auth_interactive-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="AuthHandler.auth_interactive-toggle" onclick="return toggle('AuthHandler.auth_interactive');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#auth_interactive">auth_interactive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">,</tt> <tt class="py-param">submethods</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.auth_interactive-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.auth_interactive-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> response_list = handler(title, instructions, prompt_list)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-24', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">=</tt> <tt class="py-string">'keyboard-interactive'</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">username</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">interactive_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">submethods</tt> <tt class="py-op">=</tt> <tt class="py-name">submethods</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-25', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.abort"></a><div id="AuthHandler.abort-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="AuthHandler.abort-toggle" onclick="return toggle('AuthHandler.abort');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#abort">abort</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.abort-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.abort-expanded"><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.pipe.OrPipe.set()=paramiko.pipe.OrPipe-class.html#set,Method paramiko.pipe.PosixPipe.set()=paramiko.pipe.PosixPipe-class.html#set,Method paramiko.pipe.WindowsPipe.set()=paramiko.pipe.WindowsPipe-class.html#set"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-26', 'set', 'link-26');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._request_auth"></a><div id="AuthHandler._request_auth-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="AuthHandler._request_auth-toggle" onclick="return toggle('AuthHandler._request_auth');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_request_auth">_request_auth</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._request_auth-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._request_auth-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-27', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-28', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-29" class="py-name" targets="Variable paramiko.auth_handler.MSG_SERVICE_REQUEST=paramiko.auth_handler-module.html#MSG_SERVICE_REQUEST,Variable paramiko.channel.MSG_SERVICE_REQUEST=paramiko.channel-module.html#MSG_SERVICE_REQUEST,Variable paramiko.client.MSG_SERVICE_REQUEST=paramiko.client-module.html#MSG_SERVICE_REQUEST,Variable paramiko.common.MSG_SERVICE_REQUEST=paramiko.common-module.html#MSG_SERVICE_REQUEST,Variable paramiko.dsskey.MSG_SERVICE_REQUEST=paramiko.dsskey-module.html#MSG_SERVICE_REQUEST,Variable paramiko.hostkeys.MSG_SERVICE_REQUEST=paramiko.hostkeys-module.html#MSG_SERVICE_REQUEST,Variable paramiko.kex_gex.MSG_SERVICE_REQUEST=paramiko.kex_gex-module.html#MSG_SERVICE_REQUEST,Variable paramiko.kex_group1.MSG_SERVICE_REQUEST=paramiko.kex_group1-module.html#MSG_SERVICE_REQUEST,Variable paramiko.packet.MSG_SERVICE_REQUEST=paramiko.packet-module.html#MSG_SERVICE_REQUEST,Variable paramiko.pkey.MSG_SERVICE_REQUEST=paramiko.pkey-module.html#MSG_SERVICE_REQUEST,Variable paramiko.rsakey.MSG_SERVICE_REQUEST=paramiko.rsakey-module.html#MSG_SERVICE_REQUEST,Variable paramiko.server.MSG_SERVICE_REQUEST=paramiko.server-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp.MSG_SERVICE_REQUEST=paramiko.sftp-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_attr.MSG_SERVICE_REQUEST=paramiko.sftp_attr-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_client.MSG_SERVICE_REQUEST=paramiko.sftp_client-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_file.MSG_SERVICE_REQUEST=paramiko.sftp_file-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_handle.MSG_SERVICE_REQUEST=paramiko.sftp_handle-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_server.MSG_SERVICE_REQUEST=paramiko.sftp_server-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_si.MSG_SERVICE_REQUEST=paramiko.sftp_si-module.html#MSG_SERVICE_REQUEST,Variable paramiko.transport.MSG_SERVICE_REQUEST=paramiko.transport-module.html#MSG_SERVICE_REQUEST,Variable paramiko.util.MSG_SERVICE_REQUEST=paramiko.util-module.html#MSG_SERVICE_REQUEST"><a title="paramiko.auth_handler.MSG_SERVICE_REQUEST
-paramiko.channel.MSG_SERVICE_REQUEST
-paramiko.client.MSG_SERVICE_REQUEST
-paramiko.common.MSG_SERVICE_REQUEST
-paramiko.dsskey.MSG_SERVICE_REQUEST
-paramiko.hostkeys.MSG_SERVICE_REQUEST
-paramiko.kex_gex.MSG_SERVICE_REQUEST
-paramiko.kex_group1.MSG_SERVICE_REQUEST
-paramiko.packet.MSG_SERVICE_REQUEST
-paramiko.pkey.MSG_SERVICE_REQUEST
-paramiko.rsakey.MSG_SERVICE_REQUEST
-paramiko.server.MSG_SERVICE_REQUEST
-paramiko.sftp.MSG_SERVICE_REQUEST
-paramiko.sftp_attr.MSG_SERVICE_REQUEST
-paramiko.sftp_client.MSG_SERVICE_REQUEST
-paramiko.sftp_file.MSG_SERVICE_REQUEST
-paramiko.sftp_handle.MSG_SERVICE_REQUEST
-paramiko.sftp_server.MSG_SERVICE_REQUEST
-paramiko.sftp_si.MSG_SERVICE_REQUEST
-paramiko.transport.MSG_SERVICE_REQUEST
-paramiko.util.MSG_SERVICE_REQUEST" class="py-name" href="#" onclick="return doclink('link-29', 'MSG_SERVICE_REQUEST', 'link-29');">MSG_SERVICE_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-30', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'ssh-userauth'</tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-31', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._disconnect_service_not_available"></a><div id="AuthHandler._disconnect_service_not_available-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="AuthHandler._disconnect_service_not_available-toggle" onclick="return toggle('AuthHandler._disconnect_service_not_available');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_disconnect_service_not_available">_disconnect_service_not_available</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._disconnect_service_not_available-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._disconnect_service_not_available-expanded"><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-32', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-33', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name" targets="Variable paramiko.auth_handler.MSG_DISCONNECT=paramiko.auth_handler-module.html#MSG_DISCONNECT,Variable paramiko.channel.MSG_DISCONNECT=paramiko.channel-module.html#MSG_DISCONNECT,Variable paramiko.client.MSG_DISCONNECT=paramiko.client-module.html#MSG_DISCONNECT,Variable paramiko.common.MSG_DISCONNECT=paramiko.common-module.html#MSG_DISCONNECT,Variable paramiko.dsskey.MSG_DISCONNECT=paramiko.dsskey-module.html#MSG_DISCONNECT,Variable paramiko.hostkeys.MSG_DISCONNECT=paramiko.hostkeys-module.html#MSG_DISCONNECT,Variable paramiko.kex_gex.MSG_DISCONNECT=paramiko.kex_gex-module.html#MSG_DISCONNECT,Variable paramiko.kex_group1.MSG_DISCONNECT=paramiko.kex_group1-module.html#MSG_DISCONNECT,Variable paramiko.packet.MSG_DISCONNECT=paramiko.packet-module.html#MSG_DISCONNECT,Variable paramiko.pkey.MSG_DISCONNECT=paramiko.pkey-module.html#MSG_DISCONNECT,Variable paramiko.rsakey.MSG_DISCONNECT=paramiko.rsakey-module.html#MSG_DISCONNECT,Variable paramiko.server.MSG_DISCONNECT=paramiko.server-module.html#MSG_DISCONNECT,Variable paramiko.sftp.MSG_DISCONNECT=paramiko.sftp-module.html#MSG_DISCONNECT,Variable paramiko.sftp_attr.MSG_DISCONNECT=paramiko.sftp_attr-module.html#MSG_DISCONNECT,Variable paramiko.sftp_client.MSG_DISCONNECT=paramiko.sftp_client-module.html#MSG_DISCONNECT,Variable paramiko.sftp_file.MSG_DISCONNECT=paramiko.sftp_file-module.html#MSG_DISCONNECT,Variable paramiko.sftp_handle.MSG_DISCONNECT=paramiko.sftp_handle-module.html#MSG_DISCONNECT,Variable paramiko.sftp_server.MSG_DISCONNECT=paramiko.sftp_server-module.html#MSG_DISCONNECT,Variable paramiko.sftp_si.MSG_DISCONNECT=paramiko.sftp_si-module.html#MSG_DISCONNECT,Variable paramiko.transport.MSG_DISCONNECT=paramiko.transport-module.html#MSG_DISCONNECT,Variable paramiko.util.MSG_DISCONNECT=paramiko.util-module.html#MSG_DISCONNECT"><a title="paramiko.auth_handler.MSG_DISCONNECT
-paramiko.channel.MSG_DISCONNECT
-paramiko.client.MSG_DISCONNECT
-paramiko.common.MSG_DISCONNECT
-paramiko.dsskey.MSG_DISCONNECT
-paramiko.hostkeys.MSG_DISCONNECT
-paramiko.kex_gex.MSG_DISCONNECT
-paramiko.kex_group1.MSG_DISCONNECT
-paramiko.packet.MSG_DISCONNECT
-paramiko.pkey.MSG_DISCONNECT
-paramiko.rsakey.MSG_DISCONNECT
-paramiko.server.MSG_DISCONNECT
-paramiko.sftp.MSG_DISCONNECT
-paramiko.sftp_attr.MSG_DISCONNECT
-paramiko.sftp_client.MSG_DISCONNECT
-paramiko.sftp_file.MSG_DISCONNECT
-paramiko.sftp_handle.MSG_DISCONNECT
-paramiko.sftp_server.MSG_DISCONNECT
-paramiko.sftp_si.MSG_DISCONNECT
-paramiko.transport.MSG_DISCONNECT
-paramiko.util.MSG_DISCONNECT" class="py-name" href="#" onclick="return doclink('link-34', 'MSG_DISCONNECT', 'link-34');">MSG_DISCONNECT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-35', 'add_int', 'link-35');">add_int</a></tt><tt class="py-op">(</tt><tt id="link-36" class="py-name" targets="Variable paramiko.auth_handler.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.auth_handler-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.channel.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.channel-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.client.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.common.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.common-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.dsskey.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.dsskey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.hostkeys.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.hostkeys-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.kex_gex.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.kex_gex-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.kex_group1.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.kex_group1-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.packet.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.packet-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.pkey.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.pkey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.rsakey.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.rsakey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.server.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_attr.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_attr-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_client.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_file.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_file-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_handle.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_handle-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_server.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_si.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_si-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.transport.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.transport-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.util.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.util-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE"><a title="paramiko.auth_handler.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.channel.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.client.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.common.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.dsskey.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.hostkeys.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.kex_gex.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.kex_group1.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.packet.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.pkey.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.rsakey.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.server.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_attr.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_client.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_file.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_handle.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_server.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_si.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.transport.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.util.DISCONNECT_SERVICE_NOT_AVAILABLE" class="py-name" href="#" onclick="return doclink('link-36', 'DISCONNECT_SERVICE_NOT_AVAILABLE', 'link-36');">DISCONNECT_SERVICE_NOT_AVAILABLE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-37', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'Service not available'</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-38', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'en'</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-39', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-40', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-41', 'close', 'link-41');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._disconnect_no_more_auth"></a><div id="AuthHandler._disconnect_no_more_auth-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="AuthHandler._disconnect_no_more_auth-toggle" onclick="return toggle('AuthHandler._disconnect_no_more_auth');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_disconnect_no_more_auth">_disconnect_no_more_auth</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._disconnect_no_more_auth-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._disconnect_no_more_auth-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-42', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-43', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="paramiko.auth_handler.MSG_DISCONNECT
-paramiko.channel.MSG_DISCONNECT
-paramiko.client.MSG_DISCONNECT
-paramiko.common.MSG_DISCONNECT
-paramiko.dsskey.MSG_DISCONNECT
-paramiko.hostkeys.MSG_DISCONNECT
-paramiko.kex_gex.MSG_DISCONNECT
-paramiko.kex_group1.MSG_DISCONNECT
-paramiko.packet.MSG_DISCONNECT
-paramiko.pkey.MSG_DISCONNECT
-paramiko.rsakey.MSG_DISCONNECT
-paramiko.server.MSG_DISCONNECT
-paramiko.sftp.MSG_DISCONNECT
-paramiko.sftp_attr.MSG_DISCONNECT
-paramiko.sftp_client.MSG_DISCONNECT
-paramiko.sftp_file.MSG_DISCONNECT
-paramiko.sftp_handle.MSG_DISCONNECT
-paramiko.sftp_server.MSG_DISCONNECT
-paramiko.sftp_si.MSG_DISCONNECT
-paramiko.transport.MSG_DISCONNECT
-paramiko.util.MSG_DISCONNECT" class="py-name" href="#" onclick="return doclink('link-44', 'MSG_DISCONNECT', 'link-34');">MSG_DISCONNECT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-45', 'add_int', 'link-35');">add_int</a></tt><tt class="py-op">(</tt><tt id="link-46" class="py-name" targets="Variable paramiko.auth_handler.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.auth_handler-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.channel.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.channel-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.common.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.common-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.dsskey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.dsskey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.hostkeys.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.hostkeys-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.kex_gex.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.kex_gex-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.kex_group1.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.kex_group1-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.packet.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.packet-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.pkey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.pkey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.rsakey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.rsakey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_attr.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_attr-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_file.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_file-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_handle.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_handle-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_si.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_si-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.transport.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.transport-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.util.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.util-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"><a title="paramiko.auth_handler.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.channel.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.common.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.dsskey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.hostkeys.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.kex_gex.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.kex_group1.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.packet.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.pkey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.rsakey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_attr.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_file.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_handle.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_si.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.transport.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.util.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE" class="py-name" href="#" onclick="return doclink('link-46', 'DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE', 'link-46');">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-47', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'No more auth methods available'</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-48', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'en'</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-49', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-50', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-51', 'close', 'link-41');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._get_session_blob"></a><div id="AuthHandler._get_session_blob-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="AuthHandler._get_session_blob-toggle" onclick="return toggle('AuthHandler._get_session_blob');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_get_session_blob">_get_session_blob</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">service</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._get_session_blob-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._get_session_blob-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-52', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-53', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-54', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">session_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-55', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-56" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_REQUEST=paramiko.auth_handler-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.channel.MSG_USERAUTH_REQUEST=paramiko.channel-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.client.MSG_USERAUTH_REQUEST=paramiko.client-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.common.MSG_USERAUTH_REQUEST=paramiko.common-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.dsskey.MSG_USERAUTH_REQUEST=paramiko.dsskey-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.hostkeys.MSG_USERAUTH_REQUEST=paramiko.hostkeys-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.kex_gex.MSG_USERAUTH_REQUEST=paramiko.kex_gex-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.kex_group1.MSG_USERAUTH_REQUEST=paramiko.kex_group1-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.packet.MSG_USERAUTH_REQUEST=paramiko.packet-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.pkey.MSG_USERAUTH_REQUEST=paramiko.pkey-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.rsakey.MSG_USERAUTH_REQUEST=paramiko.rsakey-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.server.MSG_USERAUTH_REQUEST=paramiko.server-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp.MSG_USERAUTH_REQUEST=paramiko.sftp-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_attr.MSG_USERAUTH_REQUEST=paramiko.sftp_attr-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_client.MSG_USERAUTH_REQUEST=paramiko.sftp_client-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_file.MSG_USERAUTH_REQUEST=paramiko.sftp_file-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_handle.MSG_USERAUTH_REQUEST=paramiko.sftp_handle-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_server.MSG_USERAUTH_REQUEST=paramiko.sftp_server-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_si.MSG_USERAUTH_REQUEST=paramiko.sftp_si-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.transport.MSG_USERAUTH_REQUEST=paramiko.transport-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.util.MSG_USERAUTH_REQUEST=paramiko.util-module.html#MSG_USERAUTH_REQUEST"><a title="paramiko.auth_handler.MSG_USERAUTH_REQUEST
-paramiko.channel.MSG_USERAUTH_REQUEST
-paramiko.client.MSG_USERAUTH_REQUEST
-paramiko.common.MSG_USERAUTH_REQUEST
-paramiko.dsskey.MSG_USERAUTH_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_REQUEST
-paramiko.packet.MSG_USERAUTH_REQUEST
-paramiko.pkey.MSG_USERAUTH_REQUEST
-paramiko.rsakey.MSG_USERAUTH_REQUEST
-paramiko.server.MSG_USERAUTH_REQUEST
-paramiko.sftp.MSG_USERAUTH_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_REQUEST
-paramiko.transport.MSG_USERAUTH_REQUEST
-paramiko.util.MSG_USERAUTH_REQUEST" class="py-name" href="#" onclick="return doclink('link-56', 'MSG_USERAUTH_REQUEST', 'link-56');">MSG_USERAUTH_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-57', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-58', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-59', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'publickey'</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method paramiko.Message.add_boolean()=paramiko.Message-class.html#add_boolean"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-60', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-61', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-62', 'get_name', 'link-62');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-63', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler.wait_for_response"></a><div id="AuthHandler.wait_for_response-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="AuthHandler.wait_for_response-toggle" onclick="return toggle('AuthHandler.wait_for_response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#wait_for_response">wait_for_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler.wait_for_response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler.wait_for_response-expanded"><a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-64', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method paramiko.Transport.is_active()=paramiko.Transport-class.html#is_active"><a title="paramiko.Transport.is_active" class="py-name" href="#" onclick="return doclink('link-65', 'is_active', 'link-65');">is_active</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-66', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method paramiko.Transport.get_exception()=paramiko.Transport-class.html#get_exception"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-67', 'get_exception', 'link-67');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">,</tt> <tt class="py-name">EOFError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="paramiko.AuthenticationException" class="py-name" href="#" onclick="return doclink('link-68', 'AuthenticationException', 'link-10');">AuthenticationException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Authentication failed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method paramiko.Transport.is_authenticated()=paramiko.Transport-class.html#is_authenticated"><a title="paramiko.Transport.is_authenticated" class="py-name" href="#" onclick="return doclink('link-69', 'is_authenticated', 'link-69');">is_authenticated</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-70', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-71', 'get_exception', 'link-67');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><a title="paramiko.AuthenticationException" class="py-name" href="#" onclick="return doclink('link-72', 'AuthenticationException', 'link-10');">AuthenticationException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Authentication failed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-comment"># this is horrible. python Exception isn't yet descended from</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-comment"># object, so type(e) won't work. :(</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">,</tt> <tt id="link-73" class="py-name"><a title="paramiko.ssh_exception.PartialAuthentication" class="py-name" href="#" onclick="return doclink('link-73', 'PartialAuthentication', 'link-12');">PartialAuthentication</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Variable paramiko.BadAuthenticationType.allowed_types=paramiko.BadAuthenticationType-class.html#allowed_types,Variable paramiko.ssh_exception.PartialAuthentication.allowed_types=paramiko.ssh_exception.PartialAuthentication-class.html#allowed_types"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-74', 'allowed_types', 'link-74');">allowed_types</a></tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_service_request"></a><div id="AuthHandler._parse_service_request-def"><a name="L177"></a><tt class="py-lineno">177</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_service_request-toggle" onclick="return toggle('AuthHandler._parse_service_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_service_request">_parse_service_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_service_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_service_request-expanded"><a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-75', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-76', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">service</tt> <tt class="py-op">==</tt> <tt class="py-string">'ssh-userauth'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-comment"># accepted</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-77" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-77', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-78', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-79" class="py-name" targets="Variable paramiko.auth_handler.MSG_SERVICE_ACCEPT=paramiko.auth_handler-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.channel.MSG_SERVICE_ACCEPT=paramiko.channel-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.client.MSG_SERVICE_ACCEPT=paramiko.client-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.common.MSG_SERVICE_ACCEPT=paramiko.common-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.dsskey.MSG_SERVICE_ACCEPT=paramiko.dsskey-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.hostkeys.MSG_SERVICE_ACCEPT=paramiko.hostkeys-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.kex_gex.MSG_SERVICE_ACCEPT=paramiko.kex_gex-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.kex_group1.MSG_SERVICE_ACCEPT=paramiko.kex_group1-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.packet.MSG_SERVICE_ACCEPT=paramiko.packet-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.pkey.MSG_SERVICE_ACCEPT=paramiko.pkey-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.rsakey.MSG_SERVICE_ACCEPT=paramiko.rsakey-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.server.MSG_SERVICE_ACCEPT=paramiko.server-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp.MSG_SERVICE_ACCEPT=paramiko.sftp-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_attr.MSG_SERVICE_ACCEPT=paramiko.sftp_attr-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_client.MSG_SERVICE_ACCEPT=paramiko.sftp_client-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_file.MSG_SERVICE_ACCEPT=paramiko.sftp_file-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_handle.MSG_SERVICE_ACCEPT=paramiko.sftp_handle-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_server.MSG_SERVICE_ACCEPT=paramiko.sftp_server-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_si.MSG_SERVICE_ACCEPT=paramiko.sftp_si-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.transport.MSG_SERVICE_ACCEPT=paramiko.transport-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.util.MSG_SERVICE_ACCEPT=paramiko.util-module.html#MSG_SERVICE_ACCEPT"><a title="paramiko.auth_handler.MSG_SERVICE_ACCEPT
-paramiko.channel.MSG_SERVICE_ACCEPT
-paramiko.client.MSG_SERVICE_ACCEPT
-paramiko.common.MSG_SERVICE_ACCEPT
-paramiko.dsskey.MSG_SERVICE_ACCEPT
-paramiko.hostkeys.MSG_SERVICE_ACCEPT
-paramiko.kex_gex.MSG_SERVICE_ACCEPT
-paramiko.kex_group1.MSG_SERVICE_ACCEPT
-paramiko.packet.MSG_SERVICE_ACCEPT
-paramiko.pkey.MSG_SERVICE_ACCEPT
-paramiko.rsakey.MSG_SERVICE_ACCEPT
-paramiko.server.MSG_SERVICE_ACCEPT
-paramiko.sftp.MSG_SERVICE_ACCEPT
-paramiko.sftp_attr.MSG_SERVICE_ACCEPT
-paramiko.sftp_client.MSG_SERVICE_ACCEPT
-paramiko.sftp_file.MSG_SERVICE_ACCEPT
-paramiko.sftp_handle.MSG_SERVICE_ACCEPT
-paramiko.sftp_server.MSG_SERVICE_ACCEPT
-paramiko.sftp_si.MSG_SERVICE_ACCEPT
-paramiko.transport.MSG_SERVICE_ACCEPT
-paramiko.util.MSG_SERVICE_ACCEPT" class="py-name" href="#" onclick="return doclink('link-79', 'MSG_SERVICE_ACCEPT', 'link-79');">MSG_SERVICE_ACCEPT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-80', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-81', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-comment"># dunno this one</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_disconnect_service_not_available</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_service_accept"></a><div id="AuthHandler._parse_service_accept-def"><a name="L189"></a><tt class="py-lineno">189</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_service_accept-toggle" onclick="return toggle('AuthHandler._parse_service_accept');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_service_accept">_parse_service_accept</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_service_accept-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_service_accept-expanded"><a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-82', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">service</tt> <tt class="py-op">==</tt> <tt class="py-string">'ssh-userauth'</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-83', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-84" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-84', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'userauth is OK'</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-85', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-86', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-87" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_REQUEST
-paramiko.channel.MSG_USERAUTH_REQUEST
-paramiko.client.MSG_USERAUTH_REQUEST
-paramiko.common.MSG_USERAUTH_REQUEST
-paramiko.dsskey.MSG_USERAUTH_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_REQUEST
-paramiko.packet.MSG_USERAUTH_REQUEST
-paramiko.pkey.MSG_USERAUTH_REQUEST
-paramiko.rsakey.MSG_USERAUTH_REQUEST
-paramiko.server.MSG_USERAUTH_REQUEST
-paramiko.sftp.MSG_USERAUTH_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_REQUEST
-paramiko.transport.MSG_USERAUTH_REQUEST
-paramiko.util.MSG_USERAUTH_REQUEST" class="py-name" href="#" onclick="return doclink('link-87', 'MSG_USERAUTH_REQUEST', 'link-56');">MSG_USERAUTH_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-88', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-89', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'ssh-connection'</tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-90', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">==</tt> <tt class="py-string">'password'</tt><tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-91', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">password</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">password</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">password</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method paramiko.ber.BER.encode()=paramiko.ber.BER-class.html#encode"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-92', 'encode', 'link-92');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'UTF-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-93', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">==</tt> <tt class="py-string">'publickey'</tt><tt class="py-op">:</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-94', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-95', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-96', 'get_name', 'link-62');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-97', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">blob</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_get_session_blob</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt><tt class="py-op">,</tt> <tt class="py-string">'ssh-connection'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">private_key</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Method paramiko.AgentKey.sign_ssh_data()=paramiko.AgentKey-class.html#sign_ssh_data,Method paramiko.DSSKey.sign_ssh_data()=paramiko.DSSKey-class.html#sign_ssh_data,Method paramiko.PKey.sign_ssh_data()=paramiko.PKey-class.html#sign_ssh_data,Method paramiko.RSAKey.sign_ssh_data()=paramiko.RSAKey-class.html#sign_ssh_data"><a title="paramiko.AgentKey.sign_ssh_data
-paramiko.DSSKey.sign_ssh_data
-paramiko.PKey.sign_ssh_data
-paramiko.RSAKey.sign_ssh_data" class="py-name" href="#" onclick="return doclink('link-98', 'sign_ssh_data', 'link-98');">sign_ssh_data</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-99', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-100', 'rng', 'link-100');">rng</a></tt><tt class="py-op">,</tt> <tt class="py-name">blob</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-101', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">==</tt> <tt class="py-string">'keyboard-interactive'</tt><tt class="py-op">:</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-102', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-103', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">submethods</tt><tt class="py-op">)</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">==</tt> <tt class="py-string">'none'</tt><tt class="py-op">:</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-104" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-104', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown auth method "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-105', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-106', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-107" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-107', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Service request "%s" accepted (?)'</tt> <tt class="py-op">%</tt> <tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._send_auth_result"></a><div id="AuthHandler._send_auth_result-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="AuthHandler._send_auth_result-toggle" onclick="return toggle('AuthHandler._send_auth_result');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_send_auth_result">_send_auth_result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">,</tt> <tt class="py-param">result</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._send_auth_result-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._send_auth_result-expanded"><a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-comment"># okay, send result</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-108', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt id="link-109" class="py-name" targets="Variable paramiko.auth_handler.AUTH_SUCCESSFUL=paramiko.auth_handler-module.html#AUTH_SUCCESSFUL,Variable paramiko.channel.AUTH_SUCCESSFUL=paramiko.channel-module.html#AUTH_SUCCESSFUL,Variable paramiko.client.AUTH_SUCCESSFUL=paramiko.client-module.html#AUTH_SUCCESSFUL,Variable paramiko.common.AUTH_SUCCESSFUL=paramiko.common-module.html#AUTH_SUCCESSFUL,Variable paramiko.dsskey.AUTH_SUCCESSFUL=paramiko.dsskey-module.html#AUTH_SUCCESSFUL,Variable paramiko.hostkeys.AUTH_SUCCESSFUL=paramiko.hostkeys-module.html#AUTH_SUCCESSFUL,Variable paramiko.kex_gex.AUTH_SUCCESSFUL=paramiko.kex_gex-module.html#AUTH_SUCCESSFUL,Variable paramiko.kex_group1.AUTH_SUCCESSFUL=paramiko.kex_group1-module.html#AUTH_SUCCESSFUL,Variable paramiko.packet.AUTH_SUCCESSFUL=paramiko.packet-module.html#AUTH_SUCCESSFUL,Variable paramiko.pkey.AUTH_SUCCESSFUL=paramiko.pkey-module.html#AUTH_SUCCESSFUL,Variable paramiko.rsakey.AUTH_SUCCESSFUL=paramiko.rsakey-module.html#AUTH_SUCCESSFUL,Variable paramiko.server.AUTH_SUCCESSFUL=paramiko.server-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp.AUTH_SUCCESSFUL=paramiko.sftp-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_attr.AUTH_SUCCESSFUL=paramiko.sftp_attr-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_client.AUTH_SUCCESSFUL=paramiko.sftp_client-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_file.AUTH_SUCCESSFUL=paramiko.sftp_file-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_handle.AUTH_SUCCESSFUL=paramiko.sftp_handle-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_server.AUTH_SUCCESSFUL=paramiko.sftp_server-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_si.AUTH_SUCCESSFUL=paramiko.sftp_si-module.html#AUTH_SUCCESSFUL,Variable paramiko.transport.AUTH_SUCCESSFUL=paramiko.transport-module.html#AUTH_SUCCESSFUL,Variable paramiko.util.AUTH_SUCCESSFUL=paramiko.util-module.html#AUTH_SUCCESSFUL"><a title="paramiko.auth_handler.AUTH_SUCCESSFUL
-paramiko.channel.AUTH_SUCCESSFUL
-paramiko.client.AUTH_SUCCESSFUL
-paramiko.common.AUTH_SUCCESSFUL
-paramiko.dsskey.AUTH_SUCCESSFUL
-paramiko.hostkeys.AUTH_SUCCESSFUL
-paramiko.kex_gex.AUTH_SUCCESSFUL
-paramiko.kex_group1.AUTH_SUCCESSFUL
-paramiko.packet.AUTH_SUCCESSFUL
-paramiko.pkey.AUTH_SUCCESSFUL
-paramiko.rsakey.AUTH_SUCCESSFUL
-paramiko.server.AUTH_SUCCESSFUL
-paramiko.sftp.AUTH_SUCCESSFUL
-paramiko.sftp_attr.AUTH_SUCCESSFUL
-paramiko.sftp_client.AUTH_SUCCESSFUL
-paramiko.sftp_file.AUTH_SUCCESSFUL
-paramiko.sftp_handle.AUTH_SUCCESSFUL
-paramiko.sftp_server.AUTH_SUCCESSFUL
-paramiko.sftp_si.AUTH_SUCCESSFUL
-paramiko.transport.AUTH_SUCCESSFUL
-paramiko.util.AUTH_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-109', 'AUTH_SUCCESSFUL', 'link-109');">AUTH_SUCCESSFUL</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-110', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-111" class="py-name" targets="Variable paramiko.auth_handler.INFO=paramiko.auth_handler-module.html#INFO,Variable paramiko.channel.INFO=paramiko.channel-module.html#INFO,Variable paramiko.client.INFO=paramiko.client-module.html#INFO,Variable paramiko.common.INFO=paramiko.common-module.html#INFO,Variable paramiko.dsskey.INFO=paramiko.dsskey-module.html#INFO,Variable paramiko.hostkeys.INFO=paramiko.hostkeys-module.html#INFO,Variable paramiko.kex_gex.INFO=paramiko.kex_gex-module.html#INFO,Variable paramiko.kex_group1.INFO=paramiko.kex_group1-module.html#INFO,Variable paramiko.logging22.INFO=paramiko.logging22-module.html#INFO,Variable paramiko.packet.INFO=paramiko.packet-module.html#INFO,Variable paramiko.pkey.INFO=paramiko.pkey-module.html#INFO,Variable paramiko.rsakey.INFO=paramiko.rsakey-module.html#INFO,Variable paramiko.server.INFO=paramiko.server-module.html#INFO,Variable paramiko.sftp.INFO=paramiko.sftp-module.html#INFO,Variable paramiko.sftp_attr.INFO=paramiko.sftp_attr-module.html#INFO,Variable paramiko.sftp_client.INFO=paramiko.sftp_client-module.html#INFO,Variable paramiko.sftp_file.INFO=paramiko.sftp_file-module.html#INFO,Variable paramiko.sftp_handle.INFO=paramiko.sftp_handle-module.html#INFO,Variable paramiko.sftp_server.INFO=paramiko.sftp_server-module.html#INFO,Variable paramiko.sftp_si.INFO=paramiko.sftp_si-module.html#INFO,Variable paramiko.transport.INFO=paramiko.transport-module.html#INFO,Variable paramiko.util.INFO=paramiko.util-module.html#INFO"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-111', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth granted (%s).'</tt> <tt class="py-op">%</tt> <tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-112', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_SUCCESS=paramiko.auth_handler-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.channel.MSG_USERAUTH_SUCCESS=paramiko.channel-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.client.MSG_USERAUTH_SUCCESS=paramiko.client-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.common.MSG_USERAUTH_SUCCESS=paramiko.common-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.dsskey.MSG_USERAUTH_SUCCESS=paramiko.dsskey-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.hostkeys.MSG_USERAUTH_SUCCESS=paramiko.hostkeys-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.kex_gex.MSG_USERAUTH_SUCCESS=paramiko.kex_gex-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.kex_group1.MSG_USERAUTH_SUCCESS=paramiko.kex_group1-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.packet.MSG_USERAUTH_SUCCESS=paramiko.packet-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.pkey.MSG_USERAUTH_SUCCESS=paramiko.pkey-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.rsakey.MSG_USERAUTH_SUCCESS=paramiko.rsakey-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.server.MSG_USERAUTH_SUCCESS=paramiko.server-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp.MSG_USERAUTH_SUCCESS=paramiko.sftp-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_attr.MSG_USERAUTH_SUCCESS=paramiko.sftp_attr-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_client.MSG_USERAUTH_SUCCESS=paramiko.sftp_client-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_file.MSG_USERAUTH_SUCCESS=paramiko.sftp_file-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_handle.MSG_USERAUTH_SUCCESS=paramiko.sftp_handle-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_server.MSG_USERAUTH_SUCCESS=paramiko.sftp_server-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_si.MSG_USERAUTH_SUCCESS=paramiko.sftp_si-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.transport.MSG_USERAUTH_SUCCESS=paramiko.transport-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.util.MSG_USERAUTH_SUCCESS=paramiko.util-module.html#MSG_USERAUTH_SUCCESS"><a title="paramiko.auth_handler.MSG_USERAUTH_SUCCESS
-paramiko.channel.MSG_USERAUTH_SUCCESS
-paramiko.client.MSG_USERAUTH_SUCCESS
-paramiko.common.MSG_USERAUTH_SUCCESS
-paramiko.dsskey.MSG_USERAUTH_SUCCESS
-paramiko.hostkeys.MSG_USERAUTH_SUCCESS
-paramiko.kex_gex.MSG_USERAUTH_SUCCESS
-paramiko.kex_group1.MSG_USERAUTH_SUCCESS
-paramiko.packet.MSG_USERAUTH_SUCCESS
-paramiko.pkey.MSG_USERAUTH_SUCCESS
-paramiko.rsakey.MSG_USERAUTH_SUCCESS
-paramiko.server.MSG_USERAUTH_SUCCESS
-paramiko.sftp.MSG_USERAUTH_SUCCESS
-paramiko.sftp_attr.MSG_USERAUTH_SUCCESS
-paramiko.sftp_client.MSG_USERAUTH_SUCCESS
-paramiko.sftp_file.MSG_USERAUTH_SUCCESS
-paramiko.sftp_handle.MSG_USERAUTH_SUCCESS
-paramiko.sftp_server.MSG_USERAUTH_SUCCESS
-paramiko.sftp_si.MSG_USERAUTH_SUCCESS
-paramiko.transport.MSG_USERAUTH_SUCCESS
-paramiko.util.MSG_USERAUTH_SUCCESS" class="py-name" href="#" onclick="return doclink('link-113', 'MSG_USERAUTH_SUCCESS', 'link-113');">MSG_USERAUTH_SUCCESS</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-114', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-115" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-115', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth rejected (%s).'</tt> <tt class="py-op">%</tt> <tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-116', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-117" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_FAILURE=paramiko.auth_handler-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.channel.MSG_USERAUTH_FAILURE=paramiko.channel-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.client.MSG_USERAUTH_FAILURE=paramiko.client-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.common.MSG_USERAUTH_FAILURE=paramiko.common-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.dsskey.MSG_USERAUTH_FAILURE=paramiko.dsskey-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.hostkeys.MSG_USERAUTH_FAILURE=paramiko.hostkeys-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.kex_gex.MSG_USERAUTH_FAILURE=paramiko.kex_gex-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.kex_group1.MSG_USERAUTH_FAILURE=paramiko.kex_group1-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.packet.MSG_USERAUTH_FAILURE=paramiko.packet-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.pkey.MSG_USERAUTH_FAILURE=paramiko.pkey-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.rsakey.MSG_USERAUTH_FAILURE=paramiko.rsakey-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.server.MSG_USERAUTH_FAILURE=paramiko.server-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp.MSG_USERAUTH_FAILURE=paramiko.sftp-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_attr.MSG_USERAUTH_FAILURE=paramiko.sftp_attr-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_client.MSG_USERAUTH_FAILURE=paramiko.sftp_client-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_file.MSG_USERAUTH_FAILURE=paramiko.sftp_file-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_handle.MSG_USERAUTH_FAILURE=paramiko.sftp_handle-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_server.MSG_USERAUTH_FAILURE=paramiko.sftp_server-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_si.MSG_USERAUTH_FAILURE=paramiko.sftp_si-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.transport.MSG_USERAUTH_FAILURE=paramiko.transport-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.util.MSG_USERAUTH_FAILURE=paramiko.util-module.html#MSG_USERAUTH_FAILURE"><a title="paramiko.auth_handler.MSG_USERAUTH_FAILURE
-paramiko.channel.MSG_USERAUTH_FAILURE
-paramiko.client.MSG_USERAUTH_FAILURE
-paramiko.common.MSG_USERAUTH_FAILURE
-paramiko.dsskey.MSG_USERAUTH_FAILURE
-paramiko.hostkeys.MSG_USERAUTH_FAILURE
-paramiko.kex_gex.MSG_USERAUTH_FAILURE
-paramiko.kex_group1.MSG_USERAUTH_FAILURE
-paramiko.packet.MSG_USERAUTH_FAILURE
-paramiko.pkey.MSG_USERAUTH_FAILURE
-paramiko.rsakey.MSG_USERAUTH_FAILURE
-paramiko.server.MSG_USERAUTH_FAILURE
-paramiko.sftp.MSG_USERAUTH_FAILURE
-paramiko.sftp_attr.MSG_USERAUTH_FAILURE
-paramiko.sftp_client.MSG_USERAUTH_FAILURE
-paramiko.sftp_file.MSG_USERAUTH_FAILURE
-paramiko.sftp_handle.MSG_USERAUTH_FAILURE
-paramiko.sftp_server.MSG_USERAUTH_FAILURE
-paramiko.sftp_si.MSG_USERAUTH_FAILURE
-paramiko.transport.MSG_USERAUTH_FAILURE
-paramiko.util.MSG_USERAUTH_FAILURE" class="py-name" href="#" onclick="return doclink('link-117', 'MSG_USERAUTH_FAILURE', 'link-117');">MSG_USERAUTH_FAILURE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-118', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-119', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Method paramiko.ServerInterface.get_allowed_auths()=paramiko.ServerInterface-class.html#get_allowed_auths"><a title="paramiko.ServerInterface.get_allowed_auths" class="py-name" href="#" onclick="return doclink('link-120', 'get_allowed_auths', 'link-120');">get_allowed_auths</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt id="link-121" class="py-name" targets="Variable paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL=paramiko.auth_handler-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL=paramiko.channel-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.client.AUTH_PARTIALLY_SUCCESSFUL=paramiko.client-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.common.AUTH_PARTIALLY_SUCCESSFUL=paramiko.common-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.dsskey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL=paramiko.hostkeys-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL=paramiko.kex_gex-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL=paramiko.kex_group1-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL=paramiko.packet-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.pkey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.rsakey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.server.AUTH_PARTIALLY_SUCCESSFUL=paramiko.server-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_attr-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_client-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_file-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_handle-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_server-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_si-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL=paramiko.transport-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.util.AUTH_PARTIALLY_SUCCESSFUL=paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL"><a title="paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.client.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.common.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.server.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.util.AUTH_PARTIALLY_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-121', 'AUTH_PARTIALLY_SUCCESSFUL', 'link-121');">AUTH_PARTIALLY_SUCCESSFUL</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-122', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-123', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_fail_count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-124', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_fail_count</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_disconnect_no_more_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt id="link-125" class="py-name"><a title="paramiko.auth_handler.AUTH_SUCCESSFUL
-paramiko.channel.AUTH_SUCCESSFUL
-paramiko.client.AUTH_SUCCESSFUL
-paramiko.common.AUTH_SUCCESSFUL
-paramiko.dsskey.AUTH_SUCCESSFUL
-paramiko.hostkeys.AUTH_SUCCESSFUL
-paramiko.kex_gex.AUTH_SUCCESSFUL
-paramiko.kex_group1.AUTH_SUCCESSFUL
-paramiko.packet.AUTH_SUCCESSFUL
-paramiko.pkey.AUTH_SUCCESSFUL
-paramiko.rsakey.AUTH_SUCCESSFUL
-paramiko.server.AUTH_SUCCESSFUL
-paramiko.sftp.AUTH_SUCCESSFUL
-paramiko.sftp_attr.AUTH_SUCCESSFUL
-paramiko.sftp_client.AUTH_SUCCESSFUL
-paramiko.sftp_file.AUTH_SUCCESSFUL
-paramiko.sftp_handle.AUTH_SUCCESSFUL
-paramiko.sftp_server.AUTH_SUCCESSFUL
-paramiko.sftp_si.AUTH_SUCCESSFUL
-paramiko.transport.AUTH_SUCCESSFUL
-paramiko.util.AUTH_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-125', 'AUTH_SUCCESSFUL', 'link-109');">AUTH_SUCCESSFUL</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-126', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_auth_trigger</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._interactive_query"></a><div id="AuthHandler._interactive_query-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="AuthHandler._interactive_query-toggle" onclick="return toggle('AuthHandler._interactive_query');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_interactive_query">_interactive_query</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">q</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._interactive_query-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._interactive_query-expanded"><a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-comment"># make interactive query instead of response</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-127" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-127', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-128', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-129" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_INFO_REQUEST=paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.channel.MSG_USERAUTH_INFO_REQUEST=paramiko.channel-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.client.MSG_USERAUTH_INFO_REQUEST=paramiko.client-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.common.MSG_USERAUTH_INFO_REQUEST=paramiko.common-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.dsskey.MSG_USERAUTH_INFO_REQUEST=paramiko.dsskey-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.hostkeys.MSG_USERAUTH_INFO_REQUEST=paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.kex_gex.MSG_USERAUTH_INFO_REQUEST=paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.kex_group1.MSG_USERAUTH_INFO_REQUEST=paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.packet.MSG_USERAUTH_INFO_REQUEST=paramiko.packet-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.pkey.MSG_USERAUTH_INFO_REQUEST=paramiko.pkey-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.rsakey.MSG_USERAUTH_INFO_REQUEST=paramiko.rsakey-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.server.MSG_USERAUTH_INFO_REQUEST=paramiko.server-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_attr.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_client.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_file.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_handle.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_server.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_si.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.transport.MSG_USERAUTH_INFO_REQUEST=paramiko.transport-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.util.MSG_USERAUTH_INFO_REQUEST=paramiko.util-module.html#MSG_USERAUTH_INFO_REQUEST"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_REQUEST
-paramiko.channel.MSG_USERAUTH_INFO_REQUEST
-paramiko.client.MSG_USERAUTH_INFO_REQUEST
-paramiko.common.MSG_USERAUTH_INFO_REQUEST
-paramiko.dsskey.MSG_USERAUTH_INFO_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_INFO_REQUEST
-paramiko.packet.MSG_USERAUTH_INFO_REQUEST
-paramiko.pkey.MSG_USERAUTH_INFO_REQUEST
-paramiko.rsakey.MSG_USERAUTH_INFO_REQUEST
-paramiko.server.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_INFO_REQUEST
-paramiko.transport.MSG_USERAUTH_INFO_REQUEST
-paramiko.util.MSG_USERAUTH_INFO_REQUEST" class="py-name" href="#" onclick="return doclink('link-129', 'MSG_USERAUTH_INFO_REQUEST', 'link-129');">MSG_USERAUTH_INFO_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-130', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">q</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-131', 'name', 'link-131');">name</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-132', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">q</tt><tt class="py-op">.</tt><tt class="py-name">instructions</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-133', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-134', 'add_int', 'link-35');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">q</tt><tt class="py-op">.</tt><tt class="py-name">prompts</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">q</tt><tt class="py-op">.</tt><tt class="py-name">prompts</tt><tt class="py-op">:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-135', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-136', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-137', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_userauth_request"></a><div id="AuthHandler._parse_userauth_request-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_userauth_request-toggle" onclick="return toggle('AuthHandler._parse_userauth_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_userauth_request">_parse_userauth_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_userauth_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_userauth_request-expanded"><a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-138', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-comment"># er, uh... what?</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-139" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-139', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-140', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-141" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_FAILURE
-paramiko.channel.MSG_USERAUTH_FAILURE
-paramiko.client.MSG_USERAUTH_FAILURE
-paramiko.common.MSG_USERAUTH_FAILURE
-paramiko.dsskey.MSG_USERAUTH_FAILURE
-paramiko.hostkeys.MSG_USERAUTH_FAILURE
-paramiko.kex_gex.MSG_USERAUTH_FAILURE
-paramiko.kex_group1.MSG_USERAUTH_FAILURE
-paramiko.packet.MSG_USERAUTH_FAILURE
-paramiko.pkey.MSG_USERAUTH_FAILURE
-paramiko.rsakey.MSG_USERAUTH_FAILURE
-paramiko.server.MSG_USERAUTH_FAILURE
-paramiko.sftp.MSG_USERAUTH_FAILURE
-paramiko.sftp_attr.MSG_USERAUTH_FAILURE
-paramiko.sftp_client.MSG_USERAUTH_FAILURE
-paramiko.sftp_file.MSG_USERAUTH_FAILURE
-paramiko.sftp_handle.MSG_USERAUTH_FAILURE
-paramiko.sftp_server.MSG_USERAUTH_FAILURE
-paramiko.sftp_si.MSG_USERAUTH_FAILURE
-paramiko.transport.MSG_USERAUTH_FAILURE
-paramiko.util.MSG_USERAUTH_FAILURE" class="py-name" href="#" onclick="return doclink('link-141', 'MSG_USERAUTH_FAILURE', 'link-117');">MSG_USERAUTH_FAILURE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-142', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'none'</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-143', 'add_boolean', 'link-60');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-144', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt><tt class="py-op">:</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-comment"># ignore</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-145', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-146', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-147', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-148', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-149" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-149', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth request (type=%s) service=%s, username=%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">username</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">service</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ssh-connection'</tt><tt class="py-op">:</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_disconnect_service_not_available</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt> <tt class="py-op">!=</tt> <tt class="py-name">username</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-150', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-151" class="py-name" targets="Variable paramiko.auth_handler.WARNING=paramiko.auth_handler-module.html#WARNING,Variable paramiko.channel.WARNING=paramiko.channel-module.html#WARNING,Variable paramiko.client.WARNING=paramiko.client-module.html#WARNING,Variable paramiko.common.WARNING=paramiko.common-module.html#WARNING,Variable paramiko.dsskey.WARNING=paramiko.dsskey-module.html#WARNING,Variable paramiko.hostkeys.WARNING=paramiko.hostkeys-module.html#WARNING,Variable paramiko.kex_gex.WARNING=paramiko.kex_gex-module.html#WARNING,Variable paramiko.kex_group1.WARNING=paramiko.kex_group1-module.html#WARNING,Variable paramiko.logging22.WARNING=paramiko.logging22-module.html#WARNING,Variable paramiko.packet.WARNING=paramiko.packet-module.html#WARNING,Variable paramiko.pkey.WARNING=paramiko.pkey-module.html#WARNING,Variable paramiko.rsakey.WARNING=paramiko.rsakey-module.html#WARNING,Variable paramiko.server.WARNING=paramiko.server-module.html#WARNING,Variable paramiko.sftp.WARNING=paramiko.sftp-module.html#WARNING,Variable paramiko.sftp_attr.WARNING=paramiko.sftp_attr-module.html#WARNING,Variable paramiko.sftp_client.WARNING=paramiko.sftp_client-module.html#WARNING,Variable paramiko.sftp_file.WARNING=paramiko.sftp_file-module.html#WARNING,Variable paramiko.sftp_handle.WARNING=paramiko.sftp_handle-module.html#WARNING,Variable paramiko.sftp_server.WARNING=paramiko.sftp_server-module.html#WARNING,Variable paramiko.sftp_si.WARNING=paramiko.sftp_si-module.html#WARNING,Variable paramiko.transport.WARNING=paramiko.transport-module.html#WARNING,Variable paramiko.util.WARNING=paramiko.util-module.html#WARNING"><a title="paramiko.auth_handler.WARNING
-paramiko.channel.WARNING
-paramiko.client.WARNING
-paramiko.common.WARNING
-paramiko.dsskey.WARNING
-paramiko.hostkeys.WARNING
-paramiko.kex_gex.WARNING
-paramiko.kex_group1.WARNING
-paramiko.logging22.WARNING
-paramiko.packet.WARNING
-paramiko.pkey.WARNING
-paramiko.rsakey.WARNING
-paramiko.server.WARNING
-paramiko.sftp.WARNING
-paramiko.sftp_attr.WARNING
-paramiko.sftp_client.WARNING
-paramiko.sftp_file.WARNING
-paramiko.sftp_handle.WARNING
-paramiko.sftp_server.WARNING
-paramiko.sftp_si.WARNING
-paramiko.transport.WARNING
-paramiko.util.WARNING" class="py-name" href="#" onclick="return doclink('link-151', 'WARNING', 'link-151');">WARNING</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth rejected because the client attempted to change username in mid-flight'</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_disconnect_no_more_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt> <tt class="py-op">=</tt> <tt class="py-name">username</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'none'</tt><tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-152', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method paramiko.ServerInterface.check_auth_none()=paramiko.ServerInterface-class.html#check_auth_none"><a title="paramiko.ServerInterface.check_auth_none" class="py-name" href="#" onclick="return doclink('link-153', 'check_auth_none', 'link-153');">check_auth_none</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'password'</tt><tt class="py-op">:</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">changereq</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name" targets="Method paramiko.Message.get_boolean()=paramiko.Message-class.html#get_boolean"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-154', 'get_boolean', 'link-154');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-155', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">password</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name" targets="Method paramiko.ber.BER.decode()=paramiko.ber.BER-class.html#decode"><a title="paramiko.ber.BER.decode" class="py-name" href="#" onclick="return doclink('link-156', 'decode', 'link-156');">decode</a></tt><tt class="py-op">(</tt><tt class="py-string">'UTF-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-comment"># some clients/servers expect non-utf-8 passwords!</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-comment"># in this case, just return the raw byte string.</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">changereq</tt><tt class="py-op">:</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-comment"># always treated as failure, since we don't support changing passwords, but collect</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-comment"># the list of valid auth types from the callback anyway</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-157', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-158" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-158', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth request to change passwords (rejected)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-name">newpassword</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-159', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">newpassword</tt> <tt class="py-op">=</tt> <tt class="py-name">newpassword</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="paramiko.ber.BER.decode" class="py-name" href="#" onclick="return doclink('link-160', 'decode', 'link-156');">decode</a></tt><tt class="py-op">(</tt><tt class="py-string">'UTF-8'</tt><tt class="py-op">,</tt> <tt class="py-string">'replace'</tt><tt class="py-op">)</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name" targets="Variable paramiko.auth_handler.AUTH_FAILED=paramiko.auth_handler-module.html#AUTH_FAILED,Variable paramiko.channel.AUTH_FAILED=paramiko.channel-module.html#AUTH_FAILED,Variable paramiko.client.AUTH_FAILED=paramiko.client-module.html#AUTH_FAILED,Variable paramiko.common.AUTH_FAILED=paramiko.common-module.html#AUTH_FAILED,Variable paramiko.dsskey.AUTH_FAILED=paramiko.dsskey-module.html#AUTH_FAILED,Variable paramiko.hostkeys.AUTH_FAILED=paramiko.hostkeys-module.html#AUTH_FAILED,Variable paramiko.kex_gex.AUTH_FAILED=paramiko.kex_gex-module.html#AUTH_FAILED,Variable paramiko.kex_group1.AUTH_FAILED=paramiko.kex_group1-module.html#AUTH_FAILED,Variable paramiko.packet.AUTH_FAILED=paramiko.packet-module.html#AUTH_FAILED,Variable paramiko.pkey.AUTH_FAILED=paramiko.pkey-module.html#AUTH_FAILED,Variable paramiko.rsakey.AUTH_FAILED=paramiko.rsakey-module.html#AUTH_FAILED,Variable paramiko.server.AUTH_FAILED=paramiko.server-module.html#AUTH_FAILED,Variable paramiko.sftp.AUTH_FAILED=paramiko.sftp-module.html#AUTH_FAILED,Variable paramiko.sftp_attr.AUTH_FAILED=paramiko.sftp_attr-module.html#AUTH_FAILED,Variable paramiko.sftp_client.AUTH_FAILED=paramiko.sftp_client-module.html#AUTH_FAILED,Variable paramiko.sftp_file.AUTH_FAILED=paramiko.sftp_file-module.html#AUTH_FAILED,Variable paramiko.sftp_handle.AUTH_FAILED=paramiko.sftp_handle-module.html#AUTH_FAILED,Variable paramiko.sftp_server.AUTH_FAILED=paramiko.sftp_server-module.html#AUTH_FAILED,Variable paramiko.sftp_si.AUTH_FAILED=paramiko.sftp_si-module.html#AUTH_FAILED,Variable paramiko.transport.AUTH_FAILED=paramiko.transport-module.html#AUTH_FAILED,Variable paramiko.util.AUTH_FAILED=paramiko.util-module.html#AUTH_FAILED"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-161', 'AUTH_FAILED', 'link-161');">AUTH_FAILED</a></tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-162', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name" targets="Method paramiko.ServerInterface.check_auth_password()=paramiko.ServerInterface-class.html#check_auth_password"><a title="paramiko.ServerInterface.check_auth_password" class="py-name" href="#" onclick="return doclink('link-163', 'check_auth_password', 'link-163');">check_auth_password</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'publickey'</tt><tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-name">sig_attached</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-164', 'get_boolean', 'link-154');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">keytype</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-165', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-name">keyblob</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-166', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-167', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-168" class="py-name" targets="Variable paramiko.Transport._key_info=paramiko.Transport-class.html#_key_info"><a title="paramiko.Transport._key_info" class="py-name" href="#" onclick="return doclink('link-168', '_key_info', 'link-168');">_key_info</a></tt><tt class="py-op">[</tt><tt class="py-name">keytype</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt id="link-169" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-169', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">keyblob</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-170" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-170', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-171', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-172" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-172', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth rejected: public key: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-173', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-174" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-174', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth rejected: unsupported or mangled public key'</tt><tt class="py-op">)</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_disconnect_no_more_auth</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-comment"># first check if this key is okay... if not, we can skip the verify</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-175', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name" targets="Method paramiko.ServerInterface.check_auth_publickey()=paramiko.ServerInterface-class.html#check_auth_publickey"><a title="paramiko.ServerInterface.check_auth_publickey" class="py-name" href="#" onclick="return doclink('link-176', 'check_auth_publickey', 'link-176');">check_auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">!=</tt> <tt id="link-177" class="py-name"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-177', 'AUTH_FAILED', 'link-161');">AUTH_FAILED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-comment"># key is okay, verify it</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">sig_attached</tt><tt class="py-op">:</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-comment"># client wants to know if this key is acceptable, before it</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-comment"># signs anything... send special "ok" message</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-178" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-178', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-179', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-180" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_PK_OK=paramiko.auth_handler-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.channel.MSG_USERAUTH_PK_OK=paramiko.channel-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.client.MSG_USERAUTH_PK_OK=paramiko.client-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.common.MSG_USERAUTH_PK_OK=paramiko.common-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.dsskey.MSG_USERAUTH_PK_OK=paramiko.dsskey-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.hostkeys.MSG_USERAUTH_PK_OK=paramiko.hostkeys-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.kex_gex.MSG_USERAUTH_PK_OK=paramiko.kex_gex-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.kex_group1.MSG_USERAUTH_PK_OK=paramiko.kex_group1-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.packet.MSG_USERAUTH_PK_OK=paramiko.packet-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.pkey.MSG_USERAUTH_PK_OK=paramiko.pkey-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.rsakey.MSG_USERAUTH_PK_OK=paramiko.rsakey-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.server.MSG_USERAUTH_PK_OK=paramiko.server-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp.MSG_USERAUTH_PK_OK=paramiko.sftp-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_attr.MSG_USERAUTH_PK_OK=paramiko.sftp_attr-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_client.MSG_USERAUTH_PK_OK=paramiko.sftp_client-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_file.MSG_USERAUTH_PK_OK=paramiko.sftp_file-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_handle.MSG_USERAUTH_PK_OK=paramiko.sftp_handle-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_server.MSG_USERAUTH_PK_OK=paramiko.sftp_server-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_si.MSG_USERAUTH_PK_OK=paramiko.sftp_si-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.transport.MSG_USERAUTH_PK_OK=paramiko.transport-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.util.MSG_USERAUTH_PK_OK=paramiko.util-module.html#MSG_USERAUTH_PK_OK"><a title="paramiko.auth_handler.MSG_USERAUTH_PK_OK
-paramiko.channel.MSG_USERAUTH_PK_OK
-paramiko.client.MSG_USERAUTH_PK_OK
-paramiko.common.MSG_USERAUTH_PK_OK
-paramiko.dsskey.MSG_USERAUTH_PK_OK
-paramiko.hostkeys.MSG_USERAUTH_PK_OK
-paramiko.kex_gex.MSG_USERAUTH_PK_OK
-paramiko.kex_group1.MSG_USERAUTH_PK_OK
-paramiko.packet.MSG_USERAUTH_PK_OK
-paramiko.pkey.MSG_USERAUTH_PK_OK
-paramiko.rsakey.MSG_USERAUTH_PK_OK
-paramiko.server.MSG_USERAUTH_PK_OK
-paramiko.sftp.MSG_USERAUTH_PK_OK
-paramiko.sftp_attr.MSG_USERAUTH_PK_OK
-paramiko.sftp_client.MSG_USERAUTH_PK_OK
-paramiko.sftp_file.MSG_USERAUTH_PK_OK
-paramiko.sftp_handle.MSG_USERAUTH_PK_OK
-paramiko.sftp_server.MSG_USERAUTH_PK_OK
-paramiko.sftp_si.MSG_USERAUTH_PK_OK
-paramiko.transport.MSG_USERAUTH_PK_OK
-paramiko.util.MSG_USERAUTH_PK_OK" class="py-name" href="#" onclick="return doclink('link-180', 'MSG_USERAUTH_PK_OK', 'link-180');">MSG_USERAUTH_PK_OK</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-181', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">keytype</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-182', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">keyblob</tt><tt class="py-op">)</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-183', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-184" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-184', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-185', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-name">blob</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_get_session_blob</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name" targets="Method paramiko.DSSKey.verify_ssh_sig()=paramiko.DSSKey-class.html#verify_ssh_sig,Method paramiko.PKey.verify_ssh_sig()=paramiko.PKey-class.html#verify_ssh_sig,Method paramiko.RSAKey.verify_ssh_sig()=paramiko.RSAKey-class.html#verify_ssh_sig"><a title="paramiko.DSSKey.verify_ssh_sig
-paramiko.PKey.verify_ssh_sig
-paramiko.RSAKey.verify_ssh_sig" class="py-name" href="#" onclick="return doclink('link-186', 'verify_ssh_sig', 'link-186');">verify_ssh_sig</a></tt><tt class="py-op">(</tt><tt class="py-name">blob</tt><tt class="py-op">,</tt> <tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-187', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-188" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-188', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth rejected: invalid signature'</tt><tt class="py-op">)</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-189" class="py-name"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-189', 'AUTH_FAILED', 'link-161');">AUTH_FAILED</a></tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'keyboard-interactive'</tt><tt class="py-op">:</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-190', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-name">submethods</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-191', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-192', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name" targets="Method paramiko.ServerInterface.check_auth_interactive()=paramiko.ServerInterface-class.html#check_auth_interactive"><a title="paramiko.ServerInterface.check_auth_interactive" class="py-name" href="#" onclick="return doclink('link-193', 'check_auth_interactive', 'link-193');">check_auth_interactive</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">submethods</tt><tt class="py-op">)</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt class="py-name">InteractiveQuery</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-comment"># make interactive query instead of response</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_interactive_query</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-194', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="paramiko.ServerInterface.check_auth_none" class="py-name" href="#" onclick="return doclink('link-195', 'check_auth_none', 'link-153');">check_auth_none</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-comment"># okay, send result</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_auth_result</tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_userauth_success"></a><div id="AuthHandler._parse_userauth_success-def"><a name="L351"></a><tt class="py-lineno">351</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_userauth_success-toggle" onclick="return toggle('AuthHandler._parse_userauth_success');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_userauth_success">_parse_userauth_success</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_userauth_success-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_userauth_success-expanded"><a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-196', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-197" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-197', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Authentication (%s) successful!'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-198', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_auth_trigger</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-199', 'set', 'link-26');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_userauth_failure"></a><div id="AuthHandler._parse_userauth_failure-def"><a name="L358"></a><tt class="py-lineno">358</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_userauth_failure-toggle" onclick="return toggle('AuthHandler._parse_userauth_failure');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_userauth_failure">_parse_userauth_failure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_userauth_failure-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_userauth_failure-expanded"><a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-name">authlist</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name" targets="Method paramiko.Message.get_list()=paramiko.Message-class.html#get_list"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-200', 'get_list', 'link-200');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-name">partial</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-201', 'get_boolean', 'link-154');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">partial</tt><tt class="py-op">:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-202', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-203" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-203', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Authentication continues...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-204', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-205" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-205', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Methods: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">authlist</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-206', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt id="link-207" class="py-name"><a title="paramiko.ssh_exception.PartialAuthentication" class="py-name" href="#" onclick="return doclink('link-207', 'PartialAuthentication', 'link-12');">PartialAuthentication</a></tt><tt class="py-op">(</tt><tt class="py-name">authlist</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">authlist</tt><tt class="py-op">:</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-208', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-209" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-209', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Authentication type (%s) not permitted.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-210', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-211" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-211', 'DEBUG', 'link-84');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Allowed methods: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">authlist</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-212', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt id="link-213" class="py-name"><a title="paramiko.BadAuthenticationType" class="py-name" href="#" onclick="return doclink('link-213', 'BadAuthenticationType', 'link-11');">BadAuthenticationType</a></tt><tt class="py-op">(</tt><tt class="py-string">'Bad authentication type'</tt><tt class="py-op">,</tt> <tt class="py-name">authlist</tt><tt class="py-op">)</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-214', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-215" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-215', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Authentication (%s) failed.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_event</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-216', 'set', 'link-26');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_userauth_banner"></a><div id="AuthHandler._parse_userauth_banner-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_userauth_banner-toggle" onclick="return toggle('AuthHandler._parse_userauth_banner');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_userauth_banner">_parse_userauth_banner</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_userauth_banner-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_userauth_banner-expanded"><a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-name">banner</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-217', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-218', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-219', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-220" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-220', 'INFO', 'link-111');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Auth banner: '</tt> <tt class="py-op">+</tt> <tt class="py-name">banner</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-comment"># who cares.</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_userauth_info_request"></a><div id="AuthHandler._parse_userauth_info_request-def"><a name="L382"></a><tt class="py-lineno">382</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_userauth_info_request-toggle" onclick="return toggle('AuthHandler._parse_userauth_info_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_userauth_info_request">_parse_userauth_info_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_userauth_info_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_userauth_info_request-expanded"><a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_method</tt> <tt class="py-op">!=</tt> <tt class="py-string">'keyboard-interactive'</tt><tt class="py-op">:</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-221" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-221', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Illegal info request from server'</tt><tt class="py-op">)</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-222', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-name">instructions</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-223', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-224', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment"># lang</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-name">prompts</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-225', 'get_int', 'link-225');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">prompt_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">prompts</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-name">prompt_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-226', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-227', 'get_boolean', 'link-154');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-name">response_list</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">interactive_handler</tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">,</tt> <tt class="py-name">instructions</tt><tt class="py-op">,</tt> <tt class="py-name">prompt_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-228" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-228', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-229', 'add_byte', 'link-28');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-230" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE=paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.channel.MSG_USERAUTH_INFO_RESPONSE=paramiko.channel-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.client.MSG_USERAUTH_INFO_RESPONSE=paramiko.client-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.common.MSG_USERAUTH_INFO_RESPONSE=paramiko.common-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE=paramiko.dsskey-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE=paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE=paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE=paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.packet.MSG_USERAUTH_INFO_RESPONSE=paramiko.packet-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE=paramiko.pkey-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE=paramiko.rsakey-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.server.MSG_USERAUTH_INFO_RESPONSE=paramiko.server-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.transport.MSG_USERAUTH_INFO_RESPONSE=paramiko.transport-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.util.MSG_USERAUTH_INFO_RESPONSE=paramiko.util-module.html#MSG_USERAUTH_INFO_RESPONSE"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE
-paramiko.channel.MSG_USERAUTH_INFO_RESPONSE
-paramiko.client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.common.MSG_USERAUTH_INFO_RESPONSE
-paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE
-paramiko.packet.MSG_USERAUTH_INFO_RESPONSE
-paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE
-paramiko.transport.MSG_USERAUTH_INFO_RESPONSE
-paramiko.util.MSG_USERAUTH_INFO_RESPONSE" class="py-name" href="#" onclick="return doclink('link-230', 'MSG_USERAUTH_INFO_RESPONSE', 'link-230');">MSG_USERAUTH_INFO_RESPONSE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-231', 'add_int', 'link-35');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">response_list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response_list</tt><tt class="py-op">:</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-232', 'add_string', 'link-30');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-233', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> </tt>
-<a name="AuthHandler._parse_userauth_info_response"></a><div id="AuthHandler._parse_userauth_info_response-def"><a name="L401"></a><tt class="py-lineno">401</tt> <a class="py-toggle" href="#" id="AuthHandler._parse_userauth_info_response-toggle" onclick="return toggle('AuthHandler._parse_userauth_info_response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.auth_handler.AuthHandler-class.html#_parse_userauth_info_response">_parse_userauth_info_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthHandler._parse_userauth_info_response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AuthHandler._parse_userauth_info_response-expanded"><a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-234', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-235" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-235', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Illegal info response from server'</tt><tt class="py-op">)</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-236', 'get_int', 'link-225');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-name">responses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-name">responses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-237', 'get_string', 'link-75');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-238', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name" targets="Method paramiko.ServerInterface.check_auth_interactive_response()=paramiko.ServerInterface-class.html#check_auth_interactive_response"><a title="paramiko.ServerInterface.check_auth_interactive_response" class="py-name" href="#" onclick="return doclink('link-239', 'check_auth_interactive_response', 'link-239');">check_auth_interactive_response</a></tt><tt class="py-op">(</tt><tt class="py-name">responses</tt><tt class="py-op">)</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">InteractiveQuery</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-comment"># make interactive query instead of response</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_interactive_query</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_auth_result</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt><tt class="py-op">,</tt> <tt class="py-string">'keyboard-interactive'</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt id="link-240" class="py-name" targets="Variable paramiko.Transport._handler_table=paramiko.Transport-class.html#_handler_table"><a title="paramiko.Transport._handler_table" class="py-name" href="#" onclick="return doclink('link-240', '_handler_table', 'link-240');">_handler_table</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt id="link-241" class="py-name"><a title="paramiko.auth_handler.MSG_SERVICE_REQUEST
-paramiko.channel.MSG_SERVICE_REQUEST
-paramiko.client.MSG_SERVICE_REQUEST
-paramiko.common.MSG_SERVICE_REQUEST
-paramiko.dsskey.MSG_SERVICE_REQUEST
-paramiko.hostkeys.MSG_SERVICE_REQUEST
-paramiko.kex_gex.MSG_SERVICE_REQUEST
-paramiko.kex_group1.MSG_SERVICE_REQUEST
-paramiko.packet.MSG_SERVICE_REQUEST
-paramiko.pkey.MSG_SERVICE_REQUEST
-paramiko.rsakey.MSG_SERVICE_REQUEST
-paramiko.server.MSG_SERVICE_REQUEST
-paramiko.sftp.MSG_SERVICE_REQUEST
-paramiko.sftp_attr.MSG_SERVICE_REQUEST
-paramiko.sftp_client.MSG_SERVICE_REQUEST
-paramiko.sftp_file.MSG_SERVICE_REQUEST
-paramiko.sftp_handle.MSG_SERVICE_REQUEST
-paramiko.sftp_server.MSG_SERVICE_REQUEST
-paramiko.sftp_si.MSG_SERVICE_REQUEST
-paramiko.transport.MSG_SERVICE_REQUEST
-paramiko.util.MSG_SERVICE_REQUEST" class="py-name" href="#" onclick="return doclink('link-241', 'MSG_SERVICE_REQUEST', 'link-29');">MSG_SERVICE_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_service_request</tt><tt class="py-op">,</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt id="link-242" class="py-name"><a title="paramiko.auth_handler.MSG_SERVICE_ACCEPT
-paramiko.channel.MSG_SERVICE_ACCEPT
-paramiko.client.MSG_SERVICE_ACCEPT
-paramiko.common.MSG_SERVICE_ACCEPT
-paramiko.dsskey.MSG_SERVICE_ACCEPT
-paramiko.hostkeys.MSG_SERVICE_ACCEPT
-paramiko.kex_gex.MSG_SERVICE_ACCEPT
-paramiko.kex_group1.MSG_SERVICE_ACCEPT
-paramiko.packet.MSG_SERVICE_ACCEPT
-paramiko.pkey.MSG_SERVICE_ACCEPT
-paramiko.rsakey.MSG_SERVICE_ACCEPT
-paramiko.server.MSG_SERVICE_ACCEPT
-paramiko.sftp.MSG_SERVICE_ACCEPT
-paramiko.sftp_attr.MSG_SERVICE_ACCEPT
-paramiko.sftp_client.MSG_SERVICE_ACCEPT
-paramiko.sftp_file.MSG_SERVICE_ACCEPT
-paramiko.sftp_handle.MSG_SERVICE_ACCEPT
-paramiko.sftp_server.MSG_SERVICE_ACCEPT
-paramiko.sftp_si.MSG_SERVICE_ACCEPT
-paramiko.transport.MSG_SERVICE_ACCEPT
-paramiko.util.MSG_SERVICE_ACCEPT" class="py-name" href="#" onclick="return doclink('link-242', 'MSG_SERVICE_ACCEPT', 'link-79');">MSG_SERVICE_ACCEPT</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_service_accept</tt><tt class="py-op">,</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt id="link-243" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_REQUEST
-paramiko.channel.MSG_USERAUTH_REQUEST
-paramiko.client.MSG_USERAUTH_REQUEST
-paramiko.common.MSG_USERAUTH_REQUEST
-paramiko.dsskey.MSG_USERAUTH_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_REQUEST
-paramiko.packet.MSG_USERAUTH_REQUEST
-paramiko.pkey.MSG_USERAUTH_REQUEST
-paramiko.rsakey.MSG_USERAUTH_REQUEST
-paramiko.server.MSG_USERAUTH_REQUEST
-paramiko.sftp.MSG_USERAUTH_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_REQUEST
-paramiko.transport.MSG_USERAUTH_REQUEST
-paramiko.util.MSG_USERAUTH_REQUEST" class="py-name" href="#" onclick="return doclink('link-243', 'MSG_USERAUTH_REQUEST', 'link-56');">MSG_USERAUTH_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_userauth_request</tt><tt class="py-op">,</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt id="link-244" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_SUCCESS
-paramiko.channel.MSG_USERAUTH_SUCCESS
-paramiko.client.MSG_USERAUTH_SUCCESS
-paramiko.common.MSG_USERAUTH_SUCCESS
-paramiko.dsskey.MSG_USERAUTH_SUCCESS
-paramiko.hostkeys.MSG_USERAUTH_SUCCESS
-paramiko.kex_gex.MSG_USERAUTH_SUCCESS
-paramiko.kex_group1.MSG_USERAUTH_SUCCESS
-paramiko.packet.MSG_USERAUTH_SUCCESS
-paramiko.pkey.MSG_USERAUTH_SUCCESS
-paramiko.rsakey.MSG_USERAUTH_SUCCESS
-paramiko.server.MSG_USERAUTH_SUCCESS
-paramiko.sftp.MSG_USERAUTH_SUCCESS
-paramiko.sftp_attr.MSG_USERAUTH_SUCCESS
-paramiko.sftp_client.MSG_USERAUTH_SUCCESS
-paramiko.sftp_file.MSG_USERAUTH_SUCCESS
-paramiko.sftp_handle.MSG_USERAUTH_SUCCESS
-paramiko.sftp_server.MSG_USERAUTH_SUCCESS
-paramiko.sftp_si.MSG_USERAUTH_SUCCESS
-paramiko.transport.MSG_USERAUTH_SUCCESS
-paramiko.util.MSG_USERAUTH_SUCCESS" class="py-name" href="#" onclick="return doclink('link-244', 'MSG_USERAUTH_SUCCESS', 'link-113');">MSG_USERAUTH_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_userauth_success</tt><tt class="py-op">,</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt id="link-245" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_FAILURE
-paramiko.channel.MSG_USERAUTH_FAILURE
-paramiko.client.MSG_USERAUTH_FAILURE
-paramiko.common.MSG_USERAUTH_FAILURE
-paramiko.dsskey.MSG_USERAUTH_FAILURE
-paramiko.hostkeys.MSG_USERAUTH_FAILURE
-paramiko.kex_gex.MSG_USERAUTH_FAILURE
-paramiko.kex_group1.MSG_USERAUTH_FAILURE
-paramiko.packet.MSG_USERAUTH_FAILURE
-paramiko.pkey.MSG_USERAUTH_FAILURE
-paramiko.rsakey.MSG_USERAUTH_FAILURE
-paramiko.server.MSG_USERAUTH_FAILURE
-paramiko.sftp.MSG_USERAUTH_FAILURE
-paramiko.sftp_attr.MSG_USERAUTH_FAILURE
-paramiko.sftp_client.MSG_USERAUTH_FAILURE
-paramiko.sftp_file.MSG_USERAUTH_FAILURE
-paramiko.sftp_handle.MSG_USERAUTH_FAILURE
-paramiko.sftp_server.MSG_USERAUTH_FAILURE
-paramiko.sftp_si.MSG_USERAUTH_FAILURE
-paramiko.transport.MSG_USERAUTH_FAILURE
-paramiko.util.MSG_USERAUTH_FAILURE" class="py-name" href="#" onclick="return doclink('link-245', 'MSG_USERAUTH_FAILURE', 'link-117');">MSG_USERAUTH_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_userauth_failure</tt><tt class="py-op">,</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt id="link-246" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_BANNER=paramiko.auth_handler-module.html#MSG_USERAUTH_BANNER,Variable paramiko.channel.MSG_USERAUTH_BANNER=paramiko.channel-module.html#MSG_USERAUTH_BANNER,Variable paramiko.client.MSG_USERAUTH_BANNER=paramiko.client-module.html#MSG_USERAUTH_BANNER,Variable paramiko.common.MSG_USERAUTH_BANNER=paramiko.common-module.html#MSG_USERAUTH_BANNER,Variable paramiko.dsskey.MSG_USERAUTH_BANNER=paramiko.dsskey-module.html#MSG_USERAUTH_BANNER,Variable paramiko.hostkeys.MSG_USERAUTH_BANNER=paramiko.hostkeys-module.html#MSG_USERAUTH_BANNER,Variable paramiko.kex_gex.MSG_USERAUTH_BANNER=paramiko.kex_gex-module.html#MSG_USERAUTH_BANNER,Variable paramiko.kex_group1.MSG_USERAUTH_BANNER=paramiko.kex_group1-module.html#MSG_USERAUTH_BANNER,Variable paramiko.packet.MSG_USERAUTH_BANNER=paramiko.packet-module.html#MSG_USERAUTH_BANNER,Variable paramiko.pkey.MSG_USERAUTH_BANNER=paramiko.pkey-module.html#MSG_USERAUTH_BANNER,Variable paramiko.rsakey.MSG_USERAUTH_BANNER=paramiko.rsakey-module.html#MSG_USERAUTH_BANNER,Variable paramiko.server.MSG_USERAUTH_BANNER=paramiko.server-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp.MSG_USERAUTH_BANNER=paramiko.sftp-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_attr.MSG_USERAUTH_BANNER=paramiko.sftp_attr-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_client.MSG_USERAUTH_BANNER=paramiko.sftp_client-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_file.MSG_USERAUTH_BANNER=paramiko.sftp_file-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_handle.MSG_USERAUTH_BANNER=paramiko.sftp_handle-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_server.MSG_USERAUTH_BANNER=paramiko.sftp_server-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_si.MSG_USERAUTH_BANNER=paramiko.sftp_si-module.html#MSG_USERAUTH_BANNER,Variable paramiko.transport.MSG_USERAUTH_BANNER=paramiko.transport-module.html#MSG_USERAUTH_BANNER,Variable paramiko.util.MSG_USERAUTH_BANNER=paramiko.util-module.html#MSG_USERAUTH_BANNER"><a title="paramiko.auth_handler.MSG_USERAUTH_BANNER
-paramiko.channel.MSG_USERAUTH_BANNER
-paramiko.client.MSG_USERAUTH_BANNER
-paramiko.common.MSG_USERAUTH_BANNER
-paramiko.dsskey.MSG_USERAUTH_BANNER
-paramiko.hostkeys.MSG_USERAUTH_BANNER
-paramiko.kex_gex.MSG_USERAUTH_BANNER
-paramiko.kex_group1.MSG_USERAUTH_BANNER
-paramiko.packet.MSG_USERAUTH_BANNER
-paramiko.pkey.MSG_USERAUTH_BANNER
-paramiko.rsakey.MSG_USERAUTH_BANNER
-paramiko.server.MSG_USERAUTH_BANNER
-paramiko.sftp.MSG_USERAUTH_BANNER
-paramiko.sftp_attr.MSG_USERAUTH_BANNER
-paramiko.sftp_client.MSG_USERAUTH_BANNER
-paramiko.sftp_file.MSG_USERAUTH_BANNER
-paramiko.sftp_handle.MSG_USERAUTH_BANNER
-paramiko.sftp_server.MSG_USERAUTH_BANNER
-paramiko.sftp_si.MSG_USERAUTH_BANNER
-paramiko.transport.MSG_USERAUTH_BANNER
-paramiko.util.MSG_USERAUTH_BANNER" class="py-name" href="#" onclick="return doclink('link-246', 'MSG_USERAUTH_BANNER', 'link-246');">MSG_USERAUTH_BANNER</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_userauth_banner</tt><tt class="py-op">,</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt id="link-247" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_REQUEST
-paramiko.channel.MSG_USERAUTH_INFO_REQUEST
-paramiko.client.MSG_USERAUTH_INFO_REQUEST
-paramiko.common.MSG_USERAUTH_INFO_REQUEST
-paramiko.dsskey.MSG_USERAUTH_INFO_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_INFO_REQUEST
-paramiko.packet.MSG_USERAUTH_INFO_REQUEST
-paramiko.pkey.MSG_USERAUTH_INFO_REQUEST
-paramiko.rsakey.MSG_USERAUTH_INFO_REQUEST
-paramiko.server.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_INFO_REQUEST
-paramiko.transport.MSG_USERAUTH_INFO_REQUEST
-paramiko.util.MSG_USERAUTH_INFO_REQUEST" class="py-name" href="#" onclick="return doclink('link-247', 'MSG_USERAUTH_INFO_REQUEST', 'link-129');">MSG_USERAUTH_INFO_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_userauth_info_request</tt><tt class="py-op">,</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt id="link-248" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE
-paramiko.channel.MSG_USERAUTH_INFO_RESPONSE
-paramiko.client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.common.MSG_USERAUTH_INFO_RESPONSE
-paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE
-paramiko.packet.MSG_USERAUTH_INFO_RESPONSE
-paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE
-paramiko.transport.MSG_USERAUTH_INFO_RESPONSE
-paramiko.util.MSG_USERAUTH_INFO_RESPONSE" class="py-name" href="#" onclick="return doclink('link-248', 'MSG_USERAUTH_INFO_RESPONSE', 'link-230');">MSG_USERAUTH_INFO_RESPONSE</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_userauth_info_response</tt><tt class="py-op">,</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-</div><a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ber-module.html b/docs/paramiko.ber-module.html
deleted file mode 100644
index 6012a41..0000000
--- a/docs/paramiko.ber-module.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ber</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;ber
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ber-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module ber</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.ber-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.ber.BERException-class.html" class="summary-name">BERException</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.ber.BER-class.html" class="summary-name">BER</a><br />
- Robey's tiny little attempt at a BER decoder.
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ber-pysrc.html b/docs/paramiko.ber-pysrc.html
deleted file mode 100644
index d58e1fc..0000000
--- a/docs/paramiko.ber-pysrc.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ber</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;ber
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ber-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.ber-module.html" onclick="show_private();">Module paramiko.ber</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-0', 'util', 'link-0');">util</a></tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="BERException"></a><div id="BERException-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="BERException-toggle" onclick="return toggle('BERException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ber.BERException-class.html">BERException</a> <tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BERException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BERException-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="BER"></a><div id="BER-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="BER-toggle" onclick="return toggle('BER');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html">BER</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BER-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> Robey's tiny little attempt at a BER decoder.</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="BER.__init__"></a><div id="BER.__init__-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="BER.__init__-toggle" onclick="return toggle('BER.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.__init__-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="BER.__str__"></a><div id="BER.__str__-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="BER.__str__-toggle" onclick="return toggle('BER.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.__str__-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> </tt>
-</div><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="BER.__repr__"></a><div id="BER.__repr__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="BER.__repr__-toggle" onclick="return toggle('BER.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.__repr__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'BER(\''</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'\')'</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="BER.decode"></a><div id="BER.decode-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="BER.decode-toggle" onclick="return toggle('BER.decode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#decode">decode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.decode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.decode-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method paramiko.ber.BER.decode_next()=paramiko.ber.BER-class.html#decode_next"><a title="paramiko.ber.BER.decode_next" class="py-name" href="#" onclick="return doclink('link-1', 'decode_next', 'link-1');">decode_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
-<a name="BER.decode_next"></a><div id="BER.decode_next-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="BER.decode_next-toggle" onclick="return toggle('BER.decode_next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#decode_next">decode_next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.decode_next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.decode_next-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">ident</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">ident</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">31</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">31</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-comment"># identifier &gt; 30</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">ident</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">ident</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">ident</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-number">7</tt><tt class="py-op">)</tt> <tt class="py-op">|</tt> <tt class="py-op">(</tt><tt class="py-name">t</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x7f</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">t</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-comment"># now fetch length</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x80</tt><tt class="py-op">:</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># more complimicated...</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: theoretically should handle indefinite-length (0x80)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x7f</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-name">t</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-2', 'util', 'link-0');">util</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-3', 'inflate_long', 'link-3');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-name">t</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-name">t</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-name">size</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-comment"># can't fit</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-name">size</tt><tt class="py-op">]</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-name">size</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-comment"># now switch on id</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ident</tt> <tt class="py-op">==</tt> <tt class="py-number">0x30</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># sequence</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Static Method paramiko.ber.BER.decode_sequence()=paramiko.ber.BER-class.html#decode_sequence"><a title="paramiko.ber.BER.decode_sequence" class="py-name" href="#" onclick="return doclink('link-4', 'decode_sequence', 'link-4');">decode_sequence</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ident</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-comment"># int</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-5" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-5', 'util', 'link-0');">util</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-6', 'inflate_long', 'link-3');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-comment"># 1: boolean (00 false, otherwise true)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-7" class="py-name" targets="Class paramiko.ber.BERException=paramiko.ber.BERException-class.html"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-7', 'BERException', 'link-7');">BERException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown ber encoding type %d (robey is lazy)'</tt> <tt class="py-op">%</tt> <tt class="py-name">ident</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="BER.decode_sequence"></a><div id="BER.decode_sequence-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="BER.decode_sequence-toggle" onclick="return toggle('BER.decode_sequence');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#decode_sequence">decode_sequence</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.decode_sequence-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.decode_sequence-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name" targets="Class paramiko.ber.BER=paramiko.ber.BER-class.html"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-8', 'BER', 'link-8');">BER</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="paramiko.ber.BER.decode_next" class="py-name" href="#" onclick="return doclink('link-9', 'decode_next', 'link-1');">decode_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">x</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt id="link-10" class="py-name"><a title="paramiko.ber.BER.decode_sequence" class="py-name" href="#" onclick="return doclink('link-10', 'decode_sequence', 'link-4');">decode_sequence</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="paramiko.ber.BER.decode_sequence" class="py-name" href="#" onclick="return doclink('link-11', 'decode_sequence', 'link-4');">decode_sequence</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
-<a name="BER.encode_tlv"></a><div id="BER.encode_tlv-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="BER.encode_tlv-toggle" onclick="return toggle('BER.encode_tlv');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#encode_tlv">encode_tlv</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ident</tt><tt class="py-op">,</tt> <tt class="py-param">val</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.encode_tlv-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.encode_tlv-expanded"><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-comment"># no need to support ident &gt; 31 here</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">+=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">ident</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0x7f</tt><tt class="py-op">:</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">lenstr</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-12', 'util', 'link-0');">util</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Function paramiko.util.deflate_long()=paramiko.util-module.html#deflate_long"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-13', 'deflate_long', 'link-13');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">+=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-number">0x80</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lenstr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">lenstr</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">+=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">+=</tt> <tt class="py-name">val</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
-<a name="BER.encode"></a><div id="BER.encode-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="BER.encode-toggle" onclick="return toggle('BER.encode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#encode">encode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.encode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.encode-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.ber.BER.encode_tlv()=paramiko.ber.BER-class.html#encode_tlv"><a title="paramiko.ber.BER.encode_tlv" class="py-name" href="#" onclick="return doclink('link-14', 'encode_tlv', 'link-14');">encode_tlv</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">'\xff'</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="paramiko.ber.BER.encode_tlv" class="py-name" href="#" onclick="return doclink('link-15', 'encode_tlv', 'link-14');">encode_tlv</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">'\x00'</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">int</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">long</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="paramiko.ber.BER.encode_tlv" class="py-name" href="#" onclick="return doclink('link-16', 'encode_tlv', 'link-14');">encode_tlv</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-17', 'util', 'link-0');">util</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-18', 'deflate_long', 'link-13');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.ber.BER.encode_tlv" class="py-name" href="#" onclick="return doclink('link-19', 'encode_tlv', 'link-14');">encode_tlv</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="paramiko.ber.BER.encode_tlv" class="py-name" href="#" onclick="return doclink('link-20', 'encode_tlv', 'link-14');">encode_tlv</a></tt><tt class="py-op">(</tt><tt class="py-number">0x30</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Static Method paramiko.ber.BER.encode_sequence()=paramiko.ber.BER-class.html#encode_sequence"><a title="paramiko.ber.BER.encode_sequence" class="py-name" href="#" onclick="return doclink('link-21', 'encode_sequence', 'link-21');">encode_sequence</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-22" class="py-name"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-22', 'BERException', 'link-7');">BERException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown type for encoding: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
-<a name="BER.encode_sequence"></a><div id="BER.encode_sequence-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="BER.encode_sequence-toggle" onclick="return toggle('BER.encode_sequence');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ber.BER-class.html#encode_sequence">encode_sequence</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BER.encode_sequence-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BER.encode_sequence-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-23', 'BER', 'link-8');">BER</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method paramiko.ber.BER.encode()=paramiko.ber.BER-class.html#encode"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-24', 'encode', 'link-24');">encode</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="paramiko.ber.BER.encode_sequence" class="py-name" href="#" onclick="return doclink('link-25', 'encode_sequence', 'link-21');">encode_sequence</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="paramiko.ber.BER.encode_sequence" class="py-name" href="#" onclick="return doclink('link-26', 'encode_sequence', 'link-21');">encode_sequence</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:06 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ber.BER-class.html b/docs/paramiko.ber.BER-class.html
deleted file mode 100644
index 1765e9a..0000000
--- a/docs/paramiko.ber.BER-class.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ber.BER</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.ber-module.html" onclick="show_private();">Module&nbsp;ber</a> ::
- Class&nbsp;BER
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ber.BER-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BER</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.ber-pysrc.html#BER">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">BER</strong>
-</pre>
-
-<hr />
-<p>Robey's tiny little attempt at a BER decoder.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ber.BER-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">content</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ber.BER-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- str(x)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.__str__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ber.BER-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- repr(x)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.__repr__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="decode"></a><span class="summary-sig-name">decode</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.decode">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="decode_next"></a><span class="summary-sig-name">decode_next</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.decode_next">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="encode_tlv"></a><span class="summary-sig-name">encode_tlv</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">ident</span>,
- <span class="summary-sig-arg">val</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.encode_tlv">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="encode"></a><span class="summary-sig-name">encode</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.encode">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== STATIC METHODS ==================== -->
-<a name="section-StaticMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Static Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="decode_sequence"></a><span class="summary-sig-name">decode_sequence</span>(<span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.decode_sequence">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="encode_sequence"></a><span class="summary-sig-name">encode_sequence</span>(<span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ber-pysrc.html#BER.encode_sequence">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">content</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ber-pysrc.html#BER.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__str__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Informal representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ber-pysrc.html#BER.__str__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>str(x)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__str__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="__repr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Representation operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ber-pysrc.html#BER.__repr__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>repr(x)</p>
- <dl class="fields">
- <dt>Overrides:
- object.__repr__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ber.BERException-class.html b/docs/paramiko.ber.BERException-class.html
deleted file mode 100644
index c49bebf..0000000
--- a/docs/paramiko.ber.BERException-class.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ber.BERException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.ber-module.html" onclick="show_private();">Module&nbsp;ber</a> ::
- Class&nbsp;BERException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ber.BERException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BERException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.ber-pysrc.html#BERException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <strong class="uidshort">BERException</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.buffered_pipe-module.html b/docs/paramiko.buffered_pipe-module.html
deleted file mode 100644
index 1b88510..0000000
--- a/docs/paramiko.buffered_pipe-module.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.buffered_pipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;buffered_pipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.buffered_pipe-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module buffered_pipe</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html">source&nbsp;code</a></span></p>
-<p>Attempt to generalize the &quot;feeder&quot; part of a Channel: an
- object which can be read from and closed, but is reading from a buffer
- fed by another thread. The read operations are blocking and can have a
- timeout set.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.buffered_pipe.PipeTimeout-class.html" class="summary-name">PipeTimeout</a><br />
- Indicates that a timeout was reached on a read from a <a
- href="paramiko.buffered_pipe.BufferedPipe-class.html"
- class="link">BufferedPipe</a>.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.buffered_pipe.BufferedPipe-class.html" class="summary-name">BufferedPipe</a><br />
- A buffer that obeys normal read (with timeout) &amp; close
- semantics for a file or socket, but is fed data from another
- thread.
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.buffered_pipe-pysrc.html b/docs/paramiko.buffered_pipe-pysrc.html
deleted file mode 100644
index 2ee00dd..0000000
--- a/docs/paramiko.buffered_pipe-pysrc.html
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.buffered_pipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;buffered_pipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.buffered_pipe-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.buffered_pipe-module.html" onclick="show_private();">Module paramiko.buffered_pipe</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2006-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Attempt to generalize the "feeder" part of a Channel: an object which can be</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">read from and closed, but is reading from a buffer fed by another thread. The</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring">read operations are blocking and can have a timeout set.</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">array</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
-<a name="PipeTimeout"></a><div id="PipeTimeout-def"><a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="PipeTimeout-toggle" onclick="return toggle('PipeTimeout');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.buffered_pipe.PipeTimeout-class.html">PipeTimeout</a> <tt class="py-op">(</tt><tt class="py-base-class">IOError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PipeTimeout-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PipeTimeout-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> Indicates that a timeout was reached on a read from a L{BufferedPipe}.</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe"></a><div id="BufferedPipe-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="BufferedPipe-toggle" onclick="return toggle('BufferedPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html">BufferedPipe</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BufferedPipe-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> A buffer that obeys normal read (with timeout) &amp; close semantics for a</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> file or socket, but is fed data from another thread. This is used by</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel}.</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.__init__"></a><div id="BufferedPipe.__init__-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="BufferedPipe.__init__-toggle" onclick="return toggle('BufferedPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.__init__-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cv</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Condition</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">array</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-string">'B'</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.set_event"></a><div id="BufferedPipe.set_event-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="BufferedPipe.set_event-toggle" onclick="return toggle('BufferedPipe.set_event');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#set_event">set_event</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.set_event-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.set_event-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> Set an event on this buffer. When data is ready to be read (or the</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> buffer has been closed), the event will be set. When no data is</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> ready, the event will be cleared.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> @param event: the event to set/clear</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> @type event: Event</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method paramiko.pipe.OrPipe.set()=paramiko.pipe.OrPipe-class.html#set,Method paramiko.pipe.PosixPipe.set()=paramiko.pipe.PosixPipe-class.html#set,Method paramiko.pipe.WindowsPipe.set()=paramiko.pipe.WindowsPipe-class.html#set"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-0', 'set', 'link-0');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method paramiko.HostKeys.clear()=paramiko.HostKeys-class.html#clear,Method paramiko.pipe.OrPipe.clear()=paramiko.pipe.OrPipe-class.html#clear,Method paramiko.pipe.PosixPipe.clear()=paramiko.pipe.PosixPipe-class.html#clear,Method paramiko.pipe.WindowsPipe.clear()=paramiko.pipe.WindowsPipe-class.html#clear"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-1', 'clear', 'link-1');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.feed"></a><div id="BufferedPipe.feed-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="BufferedPipe.feed-toggle" onclick="return toggle('BufferedPipe.feed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#feed">feed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.feed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.feed-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> Feed new data into this pipe. This method is assumed to be called</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> from a separate thread, so synchronization is done.</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> @param data: the data to add</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-2', 'set', 'link-0');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cv</tt><tt class="py-op">.</tt><tt class="py-name">notifyAll</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.read_ready"></a><div id="BufferedPipe.read_ready-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="BufferedPipe.read_ready-toggle" onclick="return toggle('BufferedPipe.read_ready');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#read_ready">read_ready</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.read_ready-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.read_ready-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> Returns true if data is buffered and ready to be read from this</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> feeder. A C{False} result does not mean that the feeder has closed;</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> it means you may need to wait before more data arrives.</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if a L{read} call would immediately return at least</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> one byte; C{False} otherwise.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.read"></a><div id="BufferedPipe.read-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="BufferedPipe.read-toggle" onclick="return toggle('BufferedPipe.read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nbytes</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.read-expanded"><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> Read data from the pipe. The return value is a string representing</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> the data received. The maximum amount of data to be received at once</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> is specified by C{nbytes}. If a string of length zero is returned,</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> the pipe has been closed.</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> The optional C{timeout} argument can be a nonnegative float expressing</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> seconds, or C{None} for no timeout. If a float is given, a</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> C{PipeTimeout} will be raised if the timeout period value has</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> elapsed before any data arrives.</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> @param nbytes: maximum number of bytes to read</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> @type nbytes: int</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> @param timeout: maximum seconds to wait (or C{None}, the default, to</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> wait forever)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> @type timeout: float</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> @return: data</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> @raise PipeTimeout: if a timeout was specified and no data was ready</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> before that timeout</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-comment"># should we block?</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-op">==</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-3" class="py-name" targets="Class paramiko.buffered_pipe.PipeTimeout=paramiko.buffered_pipe.PipeTimeout-class.html"><a title="paramiko.buffered_pipe.PipeTimeout" class="py-name" href="#" onclick="return doclink('link-3', 'PipeTimeout', 'link-3');">PipeTimeout</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-comment"># loop here in case we get woken up but a different thread has</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-comment"># grabbed everything in the buffer.</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">then</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cv</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">timeout</tt> <tt class="py-op">-=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">then</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-4" class="py-name"><a title="paramiko.buffered_pipe.PipeTimeout" class="py-name" href="#" onclick="return doclink('link-4', 'PipeTimeout', 'link-3');">PipeTimeout</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-comment"># something's in the buffer and we have the lock!</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">nbytes</tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">.</tt><tt class="py-name">tostring</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-5', 'clear', 'link-1');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">nbytes</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tostring</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">nbytes</tt><tt class="py-op">]</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.empty"></a><div id="BufferedPipe.empty-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="BufferedPipe.empty-toggle" onclick="return toggle('BufferedPipe.empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#empty">empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.empty-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.empty-expanded"><a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> Clear out the buffer and return all data that was in it.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> @return: any data that was in the buffer prior to clearing it out</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">.</tt><tt class="py-name">tostring</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-6', 'clear', 'link-1');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.close"></a><div id="BufferedPipe.close-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="BufferedPipe.close-toggle" onclick="return toggle('BufferedPipe.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.close-expanded"><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> Close this pipe object. Future calls to L{read} after the buffer</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> has been emptied will return immediately with an empty string.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cv</tt><tt class="py-op">.</tt><tt class="py-name">notifyAll</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-7', 'set', 'link-0');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> </tt>
-<a name="BufferedPipe.__len__"></a><div id="BufferedPipe.__len__-def"><a name="L188"></a><tt class="py-lineno">188</tt> <a class="py-toggle" href="#" id="BufferedPipe.__len__-toggle" onclick="return toggle('BufferedPipe.__len__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.buffered_pipe.BufferedPipe-class.html#__len__">__len__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedPipe.__len__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedPipe.__len__-expanded"><a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> Return the number of bytes buffered.</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> @return: number of bytes bufferes</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_buffer</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.buffered_pipe.BufferedPipe-class.html b/docs/paramiko.buffered_pipe.BufferedPipe-class.html
deleted file mode 100644
index 4a9d16d..0000000
--- a/docs/paramiko.buffered_pipe.BufferedPipe-class.html
+++ /dev/null
@@ -1,516 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.buffered_pipe.BufferedPipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.buffered_pipe-module.html" onclick="show_private();">Module&nbsp;buffered_pipe</a> ::
- Class&nbsp;BufferedPipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.buffered_pipe.BufferedPipe-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class BufferedPipe</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">BufferedPipe</strong>
-</pre>
-
-<hr />
-<p>A buffer that obeys normal read (with timeout) &amp; close semantics
- for a file or socket, but is fed data from another thread. This is used
- by <a href="paramiko.Channel-class.html" class="link">Channel</a>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#set_event" class="summary-sig-name">set_event</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">event</span>)</span><br />
- Set an event on this buffer.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.set_event">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#feed" class="summary-sig-name">feed</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>)</span><br />
- Feed new data into this pipe.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.feed">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">bool</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#read_ready" class="summary-sig-name">read_ready</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns true if data is buffered and ready to be read from this
- feeder.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.read_ready">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">nbytes</span>,
- <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">None</span>)</span><br />
- Read data from the pipe.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.read">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">str</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#empty" class="summary-sig-name">empty</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Clear out the buffer and return all data that was in it.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.empty">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Close this pipe object.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.close">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">int</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.buffered_pipe.BufferedPipe-class.html#__len__" class="summary-sig-name">__len__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Return the number of bytes buffered.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.__len__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="set_event"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">set_event</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">event</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.set_event">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Set an event on this buffer. When data is ready to be read (or the
- buffer has been closed), the event will be set. When no data is ready,
- the event will be cleared.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>event</code></strong> (Event) - the event to set/clear</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="feed"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">feed</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">data</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.feed">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Feed new data into this pipe. This method is assumed to be called
- from a separate thread, so synchronization is done.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>data</code></strong> (str) - the data to add</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="read_ready"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">read_ready</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.read_ready">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns true if data is buffered and ready to be read from this
- feeder. A <code>False</code> result does not mean that the feeder has
- closed; it means you may need to wait before more data arrives.</p>
- <dl class="fields">
- <dt>Returns: bool</dt>
- <dd><code>True</code> if a <a
- href="paramiko.buffered_pipe.BufferedPipe-class.html#read"
- class="link">read</a> call would immediately return at least one
- byte; <code>False</code> otherwise.</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="read"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">nbytes</span>,
- <span class="sig-arg">timeout</span>=<span class="sig-default">None</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.read">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read data from the pipe. The return value is a string representing
- the data received. The maximum amount of data to be received at once is
- specified by <code>nbytes</code>. If a string of length zero is
- returned, the pipe has been closed.</p>
- <p>The optional <code>timeout</code> argument can be a nonnegative float
- expressing seconds, or <code>None</code> for no timeout. If a float is
- given, a <code>PipeTimeout</code> will be raised if the timeout period
- value has elapsed before any data arrives.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>nbytes</code></strong> (int) - maximum number of bytes to read</li>
- <li><strong class="pname"><code>timeout</code></strong> (float) - maximum seconds to wait (or <code>None</code>, the default, to
- wait forever)</li>
- </ul></dd>
- <dt>Returns: str</dt>
- <dd>data</dd>
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'><a href="paramiko.buffered_pipe.PipeTimeout-class.html">PipeTimeout</a></strong></code> - if a timeout was specified and no data was ready before that
- timeout</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="empty"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">empty</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.empty">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Clear out the buffer and return all data that was in it.</p>
- <dl class="fields">
- <dt>Returns: str</dt>
- <dd>any data that was in the buffer prior to clearing it out</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="close"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.close">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Close this pipe object. Future calls to <a
- href="paramiko.buffered_pipe.BufferedPipe-class.html#read"
- class="link">read</a> after the buffer has been emptied will return
- immediately with an empty string.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<a name="__len__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__len__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Length operator)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#BufferedPipe.__len__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Return the number of bytes buffered.</p>
- <dl class="fields">
- <dt>Returns: int</dt>
- <dd>number of bytes bufferes</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.buffered_pipe.PipeTimeout-class.html b/docs/paramiko.buffered_pipe.PipeTimeout-class.html
deleted file mode 100644
index 0de755a..0000000
--- a/docs/paramiko.buffered_pipe.PipeTimeout-class.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.buffered_pipe.PipeTimeout</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.buffered_pipe-module.html" onclick="show_private();">Module&nbsp;buffered_pipe</a> ::
- Class&nbsp;PipeTimeout
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.buffered_pipe.PipeTimeout-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PipeTimeout</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.buffered_pipe-pysrc.html#PipeTimeout">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- exceptions.StandardError --+
- |
- exceptions.EnvironmentError --+
- |
- exceptions.IOError --+
- |
- <strong class="uidshort">PipeTimeout</strong>
-</pre>
-
-<hr />
-<p>Indicates that a timeout was reached on a read from a <a
- href="paramiko.buffered_pipe.BufferedPipe-class.html"
- class="link">BufferedPipe</a>.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.IOError</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.EnvironmentError</code></b>:
- <code>__reduce__</code>,
- <code>__str__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.EnvironmentError</code></b>:
- <code>errno</code>,
- <code>filename</code>,
- <code>strerror</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.channel-module.html b/docs/paramiko.channel-module.html
deleted file mode 100644
index 7361776..0000000
--- a/docs/paramiko.channel-module.html
+++ /dev/null
@@ -1,554 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.channel</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;channel
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.channel-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module channel</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.channel-pysrc.html">source&nbsp;code</a></span></p>
-<p>Abstraction for an SSH2 channel.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.channel.ChannelStderrFile-class.html" class="summary-name">ChannelStderrFile</a>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MIN_PACKET_SIZE"></a><span class="summary-name">MIN_PACKET_SIZE</span> = <code title="1024">1024</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.channel-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.channel-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.channel-pysrc.html b/docs/paramiko.channel-pysrc.html
deleted file mode 100644
index 09e9132..0000000
--- a/docs/paramiko.channel-pysrc.html
+++ /dev/null
@@ -1,2076 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.channel</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;channel
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.channel-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.channel-module.html" onclick="show_private();">Module paramiko.channel</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Abstraction for an SSH2 channel.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">binascii</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-6', 'Message', 'link-6');">Message</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-8', 'ssh_exception', 'link-8');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-9', 'SSHException', 'link-9');">SSHException</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-10', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method paramiko.SFTPClient.file()=paramiko.SFTPClient-class.html#file,Module paramiko.file=paramiko.file-module.html"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-11', 'file', 'link-11');">file</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class paramiko.BufferedFile=paramiko.BufferedFile-class.html"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-12', 'BufferedFile', 'link-12');">BufferedFile</a></tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-13', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module paramiko.buffered_pipe=paramiko.buffered_pipe-module.html"><a title="paramiko.buffered_pipe" class="py-name" href="#" onclick="return doclink('link-14', 'buffered_pipe', 'link-14');">buffered_pipe</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class paramiko.buffered_pipe.BufferedPipe=paramiko.buffered_pipe.BufferedPipe-class.html"><a title="paramiko.buffered_pipe.BufferedPipe" class="py-name" href="#" onclick="return doclink('link-15', 'BufferedPipe', 'link-15');">BufferedPipe</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name" targets="Class paramiko.buffered_pipe.PipeTimeout=paramiko.buffered_pipe.PipeTimeout-class.html"><a title="paramiko.buffered_pipe.PipeTimeout" class="py-name" href="#" onclick="return doclink('link-16', 'PipeTimeout', 'link-16');">PipeTimeout</a></tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-17" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-17', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Module paramiko.pipe=paramiko.pipe-module.html"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-18', 'pipe', 'link-18');">pipe</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-comment"># lower bound on the max packet size we'll accept from the remote host</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable paramiko.channel.MIN_PACKET_SIZE=paramiko.channel-module.html#MIN_PACKET_SIZE"><a title="paramiko.channel.MIN_PACKET_SIZE" class="py-name" href="#" onclick="return doclink('link-19', 'MIN_PACKET_SIZE', 'link-19');">MIN_PACKET_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1024</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
-<a name="Channel"></a><div id="Channel-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="Channel-toggle" onclick="return toggle('Channel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html">Channel</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Channel-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> A secure tunnel across an SSH L{Transport}. A Channel is meant to behave</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> like a socket, and has an API that should be indistinguishable from the</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> python socket API.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> Because SSH2 has a windowing kind of flow control, if you stop reading data</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> from a Channel and its buffer fills up, the server will be unable to send</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> you any more data until you read some of it. (This won't affect other</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> channels on the same transport -- all channels on a single transport are</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> flow-controlled independently.) Similarly, if the server isn't reading</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> data you send, calls to L{send} may block, unless you set a timeout. This</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> is exactly like a normal network socket, so it shouldn't be too surprising.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
-<a name="Channel.__init__"></a><div id="Channel.__init__-def"><a name="L58"></a><tt class="py-lineno"> 58</tt> <a class="py-toggle" href="#" id="Channel.__init__-toggle" onclick="return toggle('Channel.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.__init__-expanded"><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> Create a new channel. The channel is not associated with any</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> particular session or L{Transport} until the Transport attaches it.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> Normally you would only call this method from the constructor of a</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> subclass of L{Channel}.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> @param chanid: the ID of this channel, as passed by an existing</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport}.</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> @type chanid: int</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">chanid</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-20', 'transport', 'link-20');">transport</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="paramiko.buffered_pipe.BufferedPipe" class="py-name" href="#" onclick="return doclink('link-21', 'BufferedPipe', 'link-15');">BufferedPipe</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="paramiko.buffered_pipe.BufferedPipe" class="py-name" href="#" onclick="return doclink('link-22', 'BufferedPipe', 'link-15');">BufferedPipe</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_buffer_cv</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Condition</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_threshold</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">status_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Class paramiko.logging22.logger=paramiko.logging22.logger-class.html"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-23', 'logger', 'link-23');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-24', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Function paramiko.util.get_logger()=paramiko.util-module.html#get_logger"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-25', 'get_logger', 'link-25');">get_logger</a></tt><tt class="py-op">(</tt><tt class="py-string">'paramiko.transport'</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event_ready</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">combine_stderr</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">exit_status</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">origin_addr</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> </tt>
-<a name="Channel.__del__"></a><div id="Channel.__del__-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="Channel.__del__-toggle" onclick="return toggle('Channel.__del__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#__del__">__del__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.__del__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.__del__-expanded"><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno"> 100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-26', 'close', 'link-26');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno"> 101</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L102"></a><tt class="py-lineno"> 102</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno"> 103</tt> <tt class="py-line"> </tt>
-<a name="Channel.__repr__"></a><div id="Channel.__repr__-def"><a name="L104"></a><tt class="py-lineno"> 104</tt> <a class="py-toggle" href="#" id="Channel.__repr__-toggle" onclick="return toggle('Channel.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.__repr__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.__repr__-expanded"><a name="L105"></a><tt class="py-lineno"> 105</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L106"></a><tt class="py-lineno"> 106</tt> <tt class="py-line"><tt class="py-docstring"> Return a string representation of this object, for debugging.</tt> </tt>
-<a name="L107"></a><tt class="py-lineno"> 107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L108"></a><tt class="py-lineno"> 108</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L109"></a><tt class="py-lineno"> 109</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L110"></a><tt class="py-lineno"> 110</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;paramiko.Channel %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chanid</tt> </tt>
-<a name="L111"></a><tt class="py-lineno"> 111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno"> 112</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (closed)'</tt> </tt>
-<a name="L113"></a><tt class="py-lineno"> 113</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno"> 114</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt><tt class="py-op">:</tt> </tt>
-<a name="L115"></a><tt class="py-lineno"> 115</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (EOF received)'</tt> </tt>
-<a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno"> 117</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (EOF sent)'</tt> </tt>
-<a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (open) window=%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L120"></a><tt class="py-lineno"> 120</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' in-buffer=%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' -&gt; '</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-27', 'transport', 'link-20');">transport</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&gt;'</tt> </tt>
-<a name="L123"></a><tt class="py-lineno"> 123</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"> </tt>
-<a name="Channel.get_pty"></a><div id="Channel.get_pty-def"><a name="L125"></a><tt class="py-lineno"> 125</tt> <a class="py-toggle" href="#" id="Channel.get_pty-toggle" onclick="return toggle('Channel.get_pty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#get_pty">get_pty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">term</tt><tt class="py-op">=</tt><tt class="py-string">'vt100'</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-number">80</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-number">24</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.get_pty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.get_pty-expanded"><a name="L126"></a><tt class="py-lineno"> 126</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"><tt class="py-docstring"> Request a pseudo-terminal from the server. This is usually used right</tt> </tt>
-<a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"><tt class="py-docstring"> after creating a client channel, to ask the server to provide some</tt> </tt>
-<a name="L129"></a><tt class="py-lineno"> 129</tt> <tt class="py-line"><tt class="py-docstring"> basic terminal semantics for a shell invoked with L{invoke_shell}.</tt> </tt>
-<a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"><tt class="py-docstring"> It isn't necessary (or desirable) to call this method if you're going</tt> </tt>
-<a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"><tt class="py-docstring"> to exectue a single command with L{exec_command}.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"><tt class="py-docstring"> @param term: the terminal type to emulate (for example, C{'vt100'})</tt> </tt>
-<a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"><tt class="py-docstring"> @type term: str</tt> </tt>
-<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"><tt class="py-docstring"> @param width: width (in characters) of the terminal screen</tt> </tt>
-<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"><tt class="py-docstring"> @type width: int</tt> </tt>
-<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"><tt class="py-docstring"> @param height: height (in characters) of the terminal screen</tt> </tt>
-<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"><tt class="py-docstring"> @type height: int</tt> </tt>
-<a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request was rejected or the channel was</tt> </tt>
-<a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"><tt class="py-docstring"> closed</tt> </tt>
-<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-28" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-28', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel is not open'</tt><tt class="py-op">)</tt> </tt>
-<a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-29', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-30', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_REQUEST=paramiko.auth_handler-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.channel.MSG_CHANNEL_REQUEST=paramiko.channel-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.client.MSG_CHANNEL_REQUEST=paramiko.client-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.common.MSG_CHANNEL_REQUEST=paramiko.common-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.dsskey.MSG_CHANNEL_REQUEST=paramiko.dsskey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.hostkeys.MSG_CHANNEL_REQUEST=paramiko.hostkeys-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.kex_gex.MSG_CHANNEL_REQUEST=paramiko.kex_gex-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.kex_group1.MSG_CHANNEL_REQUEST=paramiko.kex_group1-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.packet.MSG_CHANNEL_REQUEST=paramiko.packet-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.pkey.MSG_CHANNEL_REQUEST=paramiko.pkey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.rsakey.MSG_CHANNEL_REQUEST=paramiko.rsakey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.server.MSG_CHANNEL_REQUEST=paramiko.server-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp.MSG_CHANNEL_REQUEST=paramiko.sftp-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_attr.MSG_CHANNEL_REQUEST=paramiko.sftp_attr-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_client.MSG_CHANNEL_REQUEST=paramiko.sftp_client-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_file.MSG_CHANNEL_REQUEST=paramiko.sftp_file-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_handle.MSG_CHANNEL_REQUEST=paramiko.sftp_handle-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_server.MSG_CHANNEL_REQUEST=paramiko.sftp_server-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_si.MSG_CHANNEL_REQUEST=paramiko.sftp_si-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.transport.MSG_CHANNEL_REQUEST=paramiko.transport-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.util.MSG_CHANNEL_REQUEST=paramiko.util-module.html#MSG_CHANNEL_REQUEST"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-31', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-32', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno"> 148</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-33', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'pty-req'</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method paramiko.Message.add_boolean()=paramiko.Message-class.html#add_boolean"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-34', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-35', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">term</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-36', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">width</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-37', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">height</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"> <tt class="py-comment"># pixel height, width (usually useless)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-38', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-39', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-40', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno"> 156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event_pending</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-41', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"> </tt>
-<a name="Channel.invoke_shell"></a><div id="Channel.invoke_shell-def"><a name="L160"></a><tt class="py-lineno"> 160</tt> <a class="py-toggle" href="#" id="Channel.invoke_shell-toggle" onclick="return toggle('Channel.invoke_shell');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#invoke_shell">invoke_shell</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.invoke_shell-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.invoke_shell-expanded"><a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"><tt class="py-docstring"> Request an interactive shell session on this channel. If the server</tt> </tt>
-<a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"><tt class="py-docstring"> allows it, the channel will then be directly connected to the stdin,</tt> </tt>
-<a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"><tt class="py-docstring"> stdout, and stderr of the shell.</tt> </tt>
-<a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"><tt class="py-docstring"> Normally you would call L{get_pty} before this, in which case the</tt> </tt>
-<a name="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"><tt class="py-docstring"> shell will operate through the pty, and the channel will be connected</tt> </tt>
-<a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"><tt class="py-docstring"> to the stdin and stdout of the pty.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"><tt class="py-docstring"> When the shell exits, the channel will be closed and can't be reused.</tt> </tt>
-<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"><tt class="py-docstring"> You must open a new channel if you wish to open another shell.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request was rejected or the channel was</tt> </tt>
-<a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"><tt class="py-docstring"> closed</tt> </tt>
-<a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L177"></a><tt class="py-lineno"> 177</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-42" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-42', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel is not open'</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-43', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-44', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-45', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno"> 180</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-46', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-47', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'shell'</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-48', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event_pending</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-49', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"> </tt>
-<a name="Channel.exec_command"></a><div id="Channel.exec_command-def"><a name="L187"></a><tt class="py-lineno"> 187</tt> <a class="py-toggle" href="#" id="Channel.exec_command-toggle" onclick="return toggle('Channel.exec_command');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#exec_command">exec_command</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.exec_command-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.exec_command-expanded"><a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"><tt class="py-docstring"> Execute a command on the server. If the server allows it, the channel</tt> </tt>
-<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"><tt class="py-docstring"> will then be directly connected to the stdin, stdout, and stderr of</tt> </tt>
-<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"><tt class="py-docstring"> the command being executed.</tt> </tt>
-<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"><tt class="py-docstring"> When the command finishes executing, the channel will be closed and</tt> </tt>
-<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"><tt class="py-docstring"> can't be reused. You must open a new channel if you wish to execute</tt> </tt>
-<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"><tt class="py-docstring"> another command.</tt> </tt>
-<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"><tt class="py-docstring"> @param command: a shell command to execute.</tt> </tt>
-<a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"><tt class="py-docstring"> @type command: str</tt> </tt>
-<a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request was rejected or the channel was</tt> </tt>
-<a name="L201"></a><tt class="py-lineno"> 201</tt> <tt class="py-line"><tt class="py-docstring"> closed</tt> </tt>
-<a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-50" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-50', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel is not open'</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-51', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-52', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-53', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-54', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-55', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'exec'</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-56', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-57', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
-<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event_pending</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-58', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L214"></a><tt class="py-lineno"> 214</tt> <tt class="py-line"> </tt>
-<a name="Channel.invoke_subsystem"></a><div id="Channel.invoke_subsystem-def"><a name="L215"></a><tt class="py-lineno"> 215</tt> <a class="py-toggle" href="#" id="Channel.invoke_subsystem-toggle" onclick="return toggle('Channel.invoke_subsystem');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#invoke_subsystem">invoke_subsystem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">subsystem</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.invoke_subsystem-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.invoke_subsystem-expanded"><a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"><tt class="py-docstring"> Request a subsystem on the server (for example, C{sftp}). If the</tt> </tt>
-<a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"><tt class="py-docstring"> server allows it, the channel will then be directly connected to the</tt> </tt>
-<a name="L219"></a><tt class="py-lineno"> 219</tt> <tt class="py-line"><tt class="py-docstring"> requested subsystem.</tt> </tt>
-<a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"><tt class="py-docstring"> When the subsystem finishes, the channel will be closed and can't be</tt> </tt>
-<a name="L222"></a><tt class="py-lineno"> 222</tt> <tt class="py-line"><tt class="py-docstring"> reused.</tt> </tt>
-<a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"><tt class="py-docstring"> @param subsystem: name of the subsystem being requested.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno"> 225</tt> <tt class="py-line"><tt class="py-docstring"> @type subsystem: str</tt> </tt>
-<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request was rejected or the channel was</tt> </tt>
-<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"><tt class="py-docstring"> closed</tt> </tt>
-<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-59" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-59', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel is not open'</tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno"> 232</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-60', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-61', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-62" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-62', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-63', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-64', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'subsystem'</tt><tt class="py-op">)</tt> </tt>
-<a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-65', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-66', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">subsystem</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event_pending</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-67', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"> </tt>
-<a name="Channel.resize_pty"></a><div id="Channel.resize_pty-def"><a name="L242"></a><tt class="py-lineno"> 242</tt> <a class="py-toggle" href="#" id="Channel.resize_pty-toggle" onclick="return toggle('Channel.resize_pty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#resize_pty">resize_pty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-number">80</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-number">24</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.resize_pty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.resize_pty-expanded"><a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"><tt class="py-docstring"> Resize the pseudo-terminal. This can be used to change the width and</tt> </tt>
-<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"><tt class="py-docstring"> height of the terminal emulation created in a previous L{get_pty} call.</tt> </tt>
-<a name="L246"></a><tt class="py-lineno"> 246</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"><tt class="py-docstring"> @param width: new width (in characters) of the terminal screen</tt> </tt>
-<a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"><tt class="py-docstring"> @type width: int</tt> </tt>
-<a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"><tt class="py-docstring"> @param height: new height (in characters) of the terminal screen</tt> </tt>
-<a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"><tt class="py-docstring"> @type height: int</tt> </tt>
-<a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request was rejected or the channel was</tt> </tt>
-<a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"><tt class="py-docstring"> closed</tt> </tt>
-<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-68" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-68', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel is not open'</tt><tt class="py-op">)</tt> </tt>
-<a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-69', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-70', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-71" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-71', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-72', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-73', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'window-change'</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-74', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno"> 262</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-75', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">width</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-76', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">height</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-77', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-78', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event_pending</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-79', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"> </tt>
-<a name="Channel.exit_status_ready"></a><div id="Channel.exit_status_ready-def"><a name="L269"></a><tt class="py-lineno"> 269</tt> <a class="py-toggle" href="#" id="Channel.exit_status_ready-toggle" onclick="return toggle('Channel.exit_status_ready');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#exit_status_ready">exit_status_ready</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.exit_status_ready-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.exit_status_ready-expanded"><a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L271"></a><tt class="py-lineno"> 271</tt> <tt class="py-line"><tt class="py-docstring"> Return true if the remote process has exited and returned an exit</tt> </tt>
-<a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"><tt class="py-docstring"> status. You may use this to poll the process status if you don't</tt> </tt>
-<a name="L273"></a><tt class="py-lineno"> 273</tt> <tt class="py-line"><tt class="py-docstring"> want to block in L{recv_exit_status}. Note that the server may not</tt> </tt>
-<a name="L274"></a><tt class="py-lineno"> 274</tt> <tt class="py-line"><tt class="py-docstring"> return an exit status in some cases (like bad servers).</tt> </tt>
-<a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L276"></a><tt class="py-lineno"> 276</tt> <tt class="py-line"><tt class="py-docstring"> @return: True if L{recv_exit_status} will return immediately</tt> </tt>
-<a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.7.3</tt> </tt>
-<a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L280"></a><tt class="py-lineno"> 280</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">status_event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> </tt>
-<a name="Channel.recv_exit_status"></a><div id="Channel.recv_exit_status-def"><a name="L282"></a><tt class="py-lineno"> 282</tt> <a class="py-toggle" href="#" id="Channel.recv_exit_status-toggle" onclick="return toggle('Channel.recv_exit_status');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#recv_exit_status">recv_exit_status</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.recv_exit_status-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.recv_exit_status-expanded"><a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"><tt class="py-docstring"> Return the exit status from the process on the server. This is</tt> </tt>
-<a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"><tt class="py-docstring"> mostly useful for retrieving the reults of an L{exec_command}.</tt> </tt>
-<a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"><tt class="py-docstring"> If the command hasn't finished yet, this method will wait until</tt> </tt>
-<a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"><tt class="py-docstring"> it does, or until the channel is closed. If no exit status is</tt> </tt>
-<a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"><tt class="py-docstring"> provided by the server, -1 is returned.</tt> </tt>
-<a name="L289"></a><tt class="py-lineno"> 289</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L290"></a><tt class="py-lineno"> 290</tt> <tt class="py-line"><tt class="py-docstring"> @return: the exit code of the process on the server.</tt> </tt>
-<a name="L291"></a><tt class="py-lineno"> 291</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.2</tt> </tt>
-<a name="L294"></a><tt class="py-lineno"> 294</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L295"></a><tt class="py-lineno"> 295</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">status_event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">status_event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno"> 297</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">exit_status</tt> </tt>
-</div><a name="L298"></a><tt class="py-lineno"> 298</tt> <tt class="py-line"> </tt>
-<a name="Channel.send_exit_status"></a><div id="Channel.send_exit_status-def"><a name="L299"></a><tt class="py-lineno"> 299</tt> <a class="py-toggle" href="#" id="Channel.send_exit_status-toggle" onclick="return toggle('Channel.send_exit_status');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#send_exit_status">send_exit_status</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">status</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.send_exit_status-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.send_exit_status-expanded"><a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"><tt class="py-docstring"> Send the exit status of an executed command to the client. (This</tt> </tt>
-<a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"><tt class="py-docstring"> really only makes sense in server mode.) Many clients expect to</tt> </tt>
-<a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"><tt class="py-docstring"> get some sort of status code back from an executed command after</tt> </tt>
-<a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"><tt class="py-docstring"> it completes.</tt> </tt>
-<a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"><tt class="py-docstring"> @param status: the exit code of the process</tt> </tt>
-<a name="L307"></a><tt class="py-lineno"> 307</tt> <tt class="py-line"><tt class="py-docstring"> @type status: int</tt> </tt>
-<a name="L308"></a><tt class="py-lineno"> 308</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.2</tt> </tt>
-<a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"> <tt class="py-comment"># in many cases, the channel will not still be open here.</tt> </tt>
-<a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"> <tt class="py-comment"># that's fine.</tt> </tt>
-<a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-80', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-81', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-82" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-82', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-83', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-84', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'exit-status'</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno"> 317</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-85', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-86', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-87', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"> </tt>
-<a name="Channel.request_x11"></a><div id="Channel.request_x11-def"><a name="L321"></a><tt class="py-lineno"> 321</tt> <a class="py-toggle" href="#" id="Channel.request_x11-toggle" onclick="return toggle('Channel.request_x11');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#request_x11">request_x11</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">screen_number</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-param">auth_protocol</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">auth_cookie</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"> <tt class="py-param">single_connection</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.request_x11-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.request_x11-expanded"><a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L324"></a><tt class="py-lineno"> 324</tt> <tt class="py-line"><tt class="py-docstring"> Request an x11 session on this channel. If the server allows it,</tt> </tt>
-<a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"><tt class="py-docstring"> further x11 requests can be made from the server to the client,</tt> </tt>
-<a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"><tt class="py-docstring"> when an x11 application is run in a shell session.</tt> </tt>
-<a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"><tt class="py-docstring"> From RFC4254::</tt> </tt>
-<a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"><tt class="py-docstring"> It is RECOMMENDED that the 'x11 authentication cookie' that is</tt> </tt>
-<a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"><tt class="py-docstring"> sent be a fake, random cookie, and that the cookie be checked and</tt> </tt>
-<a name="L332"></a><tt class="py-lineno"> 332</tt> <tt class="py-line"><tt class="py-docstring"> replaced by the real cookie when a connection request is received.</tt> </tt>
-<a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"><tt class="py-docstring"> If you omit the auth_cookie, a new secure random 128-bit value will be</tt> </tt>
-<a name="L335"></a><tt class="py-lineno"> 335</tt> <tt class="py-line"><tt class="py-docstring"> generated, used, and returned. You will need to use this value to</tt> </tt>
-<a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"><tt class="py-docstring"> verify incoming x11 requests and replace them with the actual local</tt> </tt>
-<a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"><tt class="py-docstring"> x11 cookie (which requires some knoweldge of the x11 protocol).</tt> </tt>
-<a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L339"></a><tt class="py-lineno"> 339</tt> <tt class="py-line"><tt class="py-docstring"> If a handler is passed in, the handler is called from another thread</tt> </tt>
-<a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"><tt class="py-docstring"> whenever a new x11 connection arrives. The default handler queues up</tt> </tt>
-<a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"><tt class="py-docstring"> incoming x11 connections, which may be retrieved using</tt> </tt>
-<a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport.accept}. The handler's calling signature is::</tt> </tt>
-<a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"><tt class="py-docstring"> handler(channel: Channel, (address: str, port: int))</tt> </tt>
-<a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"><tt class="py-docstring"> @param screen_number: the x11 screen number (0, 10, etc)</tt> </tt>
-<a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"><tt class="py-docstring"> @type screen_number: int</tt> </tt>
-<a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"><tt class="py-docstring"> @param auth_protocol: the name of the X11 authentication method used;</tt> </tt>
-<a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"><tt class="py-docstring"> if none is given, C{"MIT-MAGIC-COOKIE-1"} is used</tt> </tt>
-<a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"><tt class="py-docstring"> @type auth_protocol: str</tt> </tt>
-<a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"><tt class="py-docstring"> @param auth_cookie: hexadecimal string containing the x11 auth cookie;</tt> </tt>
-<a name="L352"></a><tt class="py-lineno"> 352</tt> <tt class="py-line"><tt class="py-docstring"> if none is given, a secure random 128-bit value is generated</tt> </tt>
-<a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"><tt class="py-docstring"> @type auth_cookie: str</tt> </tt>
-<a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"><tt class="py-docstring"> @param single_connection: if True, only a single x11 connection will be</tt> </tt>
-<a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"><tt class="py-docstring"> forwarded (by default, any number of x11 connections can arrive</tt> </tt>
-<a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"><tt class="py-docstring"> over this session)</tt> </tt>
-<a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"><tt class="py-docstring"> @type single_connection: bool</tt> </tt>
-<a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"><tt class="py-docstring"> @param handler: an optional handler to use for incoming X11 connections</tt> </tt>
-<a name="L359"></a><tt class="py-lineno"> 359</tt> <tt class="py-line"><tt class="py-docstring"> @type handler: function</tt> </tt>
-<a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"><tt class="py-docstring"> @return: the auth_cookie used</tt> </tt>
-<a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-88" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-88', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel is not open'</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">auth_protocol</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno"> 365</tt> <tt class="py-line"> <tt class="py-name">auth_protocol</tt> <tt class="py-op">=</tt> <tt class="py-string">'MIT-MAGIC-COOKIE-1'</tt> </tt>
-<a name="L366"></a><tt class="py-lineno"> 366</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">auth_cookie</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L367"></a><tt class="py-lineno"> 367</tt> <tt class="py-line"> <tt class="py-name">auth_cookie</tt> <tt class="py-op">=</tt> <tt class="py-name">binascii</tt><tt class="py-op">.</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-89', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-90', 'rng', 'link-90');">rng</a></tt><tt class="py-op">.</tt><tt id="link-91" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-91', 'read', 'link-91');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"> </tt>
-<a name="L369"></a><tt class="py-lineno"> 369</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-92" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-92', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L370"></a><tt class="py-lineno"> 370</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-93', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-94', 'MSG_CHANNEL_REQUEST', 'link-31');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L371"></a><tt class="py-lineno"> 371</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-95', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-96', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'x11-req'</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-97', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L374"></a><tt class="py-lineno"> 374</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-98', 'add_boolean', 'link-34');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">single_connection</tt><tt class="py-op">)</tt> </tt>
-<a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-99', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">auth_protocol</tt><tt class="py-op">)</tt> </tt>
-<a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-100', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">auth_cookie</tt><tt class="py-op">)</tt> </tt>
-<a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-101', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">screen_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L378"></a><tt class="py-lineno"> 378</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_event_pending</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-102', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-103', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_set_x11_handler</tt><tt class="py-op">(</tt><tt class="py-name">handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">auth_cookie</tt> </tt>
-</div><a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"> </tt>
-<a name="Channel.get_transport"></a><div id="Channel.get_transport-def"><a name="L384"></a><tt class="py-lineno"> 384</tt> <a class="py-toggle" href="#" id="Channel.get_transport-toggle" onclick="return toggle('Channel.get_transport');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#get_transport">get_transport</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.get_transport-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.get_transport-expanded"><a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"><tt class="py-docstring"> Return the L{Transport} associated with this channel.</tt> </tt>
-<a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"><tt class="py-docstring"> @return: the L{Transport} that was used to create this channel.</tt> </tt>
-<a name="L389"></a><tt class="py-lineno"> 389</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Transport}</tt> </tt>
-<a name="L390"></a><tt class="py-lineno"> 390</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-104', 'transport', 'link-20');">transport</a></tt> </tt>
-</div><a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"> </tt>
-<a name="Channel.set_name"></a><div id="Channel.set_name-def"><a name="L393"></a><tt class="py-lineno"> 393</tt> <a class="py-toggle" href="#" id="Channel.set_name-toggle" onclick="return toggle('Channel.set_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#set_name">set_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.set_name-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.set_name-expanded"><a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"><tt class="py-docstring"> Set a name for this channel. Currently it's only used to set the name</tt> </tt>
-<a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"><tt class="py-docstring"> of the channel in logfile entries. The name can be fetched with the</tt> </tt>
-<a name="L397"></a><tt class="py-lineno"> 397</tt> <tt class="py-line"><tt class="py-docstring"> L{get_name} method.</tt> </tt>
-<a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"><tt class="py-docstring"> @param name: new channel name</tt> </tt>
-<a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L401"></a><tt class="py-lineno"> 401</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L402"></a><tt class="py-lineno"> 402</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-105', 'name', 'link-105');">name</a></tt> </tt>
-</div><a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"> </tt>
-<a name="Channel.get_name"></a><div id="Channel.get_name-def"><a name="L404"></a><tt class="py-lineno"> 404</tt> <a class="py-toggle" href="#" id="Channel.get_name-toggle" onclick="return toggle('Channel.get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#get_name">get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.get_name-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.get_name-expanded"><a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L406"></a><tt class="py-lineno"> 406</tt> <tt class="py-line"><tt class="py-docstring"> Get the name of this channel that was previously set by L{set_name}.</tt> </tt>
-<a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L408"></a><tt class="py-lineno"> 408</tt> <tt class="py-line"><tt class="py-docstring"> @return: the name of this channel.</tt> </tt>
-<a name="L409"></a><tt class="py-lineno"> 409</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt> </tt>
-</div><a name="L412"></a><tt class="py-lineno"> 412</tt> <tt class="py-line"> </tt>
-<a name="Channel.get_id"></a><div id="Channel.get_id-def"><a name="L413"></a><tt class="py-lineno"> 413</tt> <a class="py-toggle" href="#" id="Channel.get_id-toggle" onclick="return toggle('Channel.get_id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#get_id">get_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.get_id-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.get_id-expanded"><a name="L414"></a><tt class="py-lineno"> 414</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"><tt class="py-docstring"> Return the ID # for this channel. The channel ID is unique across</tt> </tt>
-<a name="L416"></a><tt class="py-lineno"> 416</tt> <tt class="py-line"><tt class="py-docstring"> a L{Transport} and usually a small number. It's also the number</tt> </tt>
-<a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"><tt class="py-docstring"> passed to L{ServerInterface.check_channel_request} when determining</tt> </tt>
-<a name="L418"></a><tt class="py-lineno"> 418</tt> <tt class="py-line"><tt class="py-docstring"> whether to accept a channel request in server mode.</tt> </tt>
-<a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"><tt class="py-docstring"> @return: the ID of this channel.</tt> </tt>
-<a name="L421"></a><tt class="py-lineno"> 421</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L422"></a><tt class="py-lineno"> 422</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L423"></a><tt class="py-lineno"> 423</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chanid</tt> </tt>
-</div><a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"> </tt>
-<a name="Channel.set_combine_stderr"></a><div id="Channel.set_combine_stderr-def"><a name="L425"></a><tt class="py-lineno"> 425</tt> <a class="py-toggle" href="#" id="Channel.set_combine_stderr-toggle" onclick="return toggle('Channel.set_combine_stderr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#set_combine_stderr">set_combine_stderr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">combine</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.set_combine_stderr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.set_combine_stderr-expanded"><a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"><tt class="py-docstring"> Set whether stderr should be combined into stdout on this channel.</tt> </tt>
-<a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"><tt class="py-docstring"> The default is C{False}, but in some cases it may be convenient to</tt> </tt>
-<a name="L429"></a><tt class="py-lineno"> 429</tt> <tt class="py-line"><tt class="py-docstring"> have both streams combined.</tt> </tt>
-<a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"><tt class="py-docstring"> If this is C{False}, and L{exec_command} is called (or C{invoke_shell}</tt> </tt>
-<a name="L432"></a><tt class="py-lineno"> 432</tt> <tt class="py-line"><tt class="py-docstring"> with no pty), output to stderr will not show up through the L{recv}</tt> </tt>
-<a name="L433"></a><tt class="py-lineno"> 433</tt> <tt class="py-line"><tt class="py-docstring"> and L{recv_ready} calls. You will have to use L{recv_stderr} and</tt> </tt>
-<a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"><tt class="py-docstring"> L{recv_stderr_ready} to get stderr output.</tt> </tt>
-<a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"><tt class="py-docstring"> If this is C{True}, data will never show up via L{recv_stderr} or</tt> </tt>
-<a name="L437"></a><tt class="py-lineno"> 437</tt> <tt class="py-line"><tt class="py-docstring"> L{recv_stderr_ready}.</tt> </tt>
-<a name="L438"></a><tt class="py-lineno"> 438</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"><tt class="py-docstring"> @param combine: C{True} if stderr output should be combined into</tt> </tt>
-<a name="L440"></a><tt class="py-lineno"> 440</tt> <tt class="py-line"><tt class="py-docstring"> stdout on this channel.</tt> </tt>
-<a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"><tt class="py-docstring"> @type combine: bool</tt> </tt>
-<a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"><tt class="py-docstring"> @return: previous setting.</tt> </tt>
-<a name="L443"></a><tt class="py-lineno"> 443</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L444"></a><tt class="py-lineno"> 444</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno"> 450</tt> <tt class="py-line"> <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">combine_stderr</tt> </tt>
-<a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">combine_stderr</tt> <tt class="py-op">=</tt> <tt class="py-name">combine</tt> </tt>
-<a name="L452"></a><tt class="py-lineno"> 452</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">combine</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
-<a name="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"> <tt class="py-comment"># copy old stderr buffer into primary buffer</tt> </tt>
-<a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method paramiko.buffered_pipe.BufferedPipe.empty()=paramiko.buffered_pipe.BufferedPipe-class.html#empty"><a title="paramiko.buffered_pipe.BufferedPipe.empty" class="py-name" href="#" onclick="return doclink('link-106', 'empty', 'link-106');">empty</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_feed</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">old</tt> </tt>
-</div><a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"> </tt>
-<a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"> </tt>
-<a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"> <tt class="py-comment">### socket API</tt> </tt>
-<a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"> </tt>
-<a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"> </tt>
-<a name="Channel.settimeout"></a><div id="Channel.settimeout-def"><a name="L465"></a><tt class="py-lineno"> 465</tt> <a class="py-toggle" href="#" id="Channel.settimeout-toggle" onclick="return toggle('Channel.settimeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#settimeout">settimeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.settimeout-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.settimeout-expanded"><a name="L466"></a><tt class="py-lineno"> 466</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"><tt class="py-docstring"> Set a timeout on blocking read/write operations. The C{timeout}</tt> </tt>
-<a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"><tt class="py-docstring"> argument can be a nonnegative float expressing seconds, or C{None}. If</tt> </tt>
-<a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"><tt class="py-docstring"> a float is given, subsequent channel read/write operations will raise</tt> </tt>
-<a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"><tt class="py-docstring"> a timeout exception if the timeout period value has elapsed before the</tt> </tt>
-<a name="L471"></a><tt class="py-lineno"> 471</tt> <tt class="py-line"><tt class="py-docstring"> operation has completed. Setting a timeout of C{None} disables</tt> </tt>
-<a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"><tt class="py-docstring"> timeouts on socket operations.</tt> </tt>
-<a name="L473"></a><tt class="py-lineno"> 473</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L474"></a><tt class="py-lineno"> 474</tt> <tt class="py-line"><tt class="py-docstring"> C{chan.settimeout(0.0)} is equivalent to C{chan.setblocking(0)};</tt> </tt>
-<a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"><tt class="py-docstring"> C{chan.settimeout(None)} is equivalent to C{chan.setblocking(1)}.</tt> </tt>
-<a name="L476"></a><tt class="py-lineno"> 476</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L477"></a><tt class="py-lineno"> 477</tt> <tt class="py-line"><tt class="py-docstring"> @param timeout: seconds to wait for a pending read/write operation</tt> </tt>
-<a name="L478"></a><tt class="py-lineno"> 478</tt> <tt class="py-line"><tt class="py-docstring"> before raising C{socket.timeout}, or C{None} for no timeout.</tt> </tt>
-<a name="L479"></a><tt class="py-lineno"> 479</tt> <tt class="py-line"><tt class="py-docstring"> @type timeout: float</tt> </tt>
-<a name="L480"></a><tt class="py-lineno"> 480</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L481"></a><tt class="py-lineno"> 481</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> </tt>
-</div><a name="L482"></a><tt class="py-lineno"> 482</tt> <tt class="py-line"> </tt>
-<a name="Channel.gettimeout"></a><div id="Channel.gettimeout-def"><a name="L483"></a><tt class="py-lineno"> 483</tt> <a class="py-toggle" href="#" id="Channel.gettimeout-toggle" onclick="return toggle('Channel.gettimeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#gettimeout">gettimeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.gettimeout-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.gettimeout-expanded"><a name="L484"></a><tt class="py-lineno"> 484</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L485"></a><tt class="py-lineno"> 485</tt> <tt class="py-line"><tt class="py-docstring"> Returns the timeout in seconds (as a float) associated with socket</tt> </tt>
-<a name="L486"></a><tt class="py-lineno"> 486</tt> <tt class="py-line"><tt class="py-docstring"> operations, or C{None} if no timeout is set. This reflects the last</tt> </tt>
-<a name="L487"></a><tt class="py-lineno"> 487</tt> <tt class="py-line"><tt class="py-docstring"> call to L{setblocking} or L{settimeout}.</tt> </tt>
-<a name="L488"></a><tt class="py-lineno"> 488</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L489"></a><tt class="py-lineno"> 489</tt> <tt class="py-line"><tt class="py-docstring"> @return: timeout in seconds, or C{None}.</tt> </tt>
-<a name="L490"></a><tt class="py-lineno"> 490</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: float</tt> </tt>
-<a name="L491"></a><tt class="py-lineno"> 491</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L492"></a><tt class="py-lineno"> 492</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> </tt>
-</div><a name="L493"></a><tt class="py-lineno"> 493</tt> <tt class="py-line"> </tt>
-<a name="Channel.setblocking"></a><div id="Channel.setblocking-def"><a name="L494"></a><tt class="py-lineno"> 494</tt> <a class="py-toggle" href="#" id="Channel.setblocking-toggle" onclick="return toggle('Channel.setblocking');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#setblocking">setblocking</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">blocking</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.setblocking-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.setblocking-expanded"><a name="L495"></a><tt class="py-lineno"> 495</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L496"></a><tt class="py-lineno"> 496</tt> <tt class="py-line"><tt class="py-docstring"> Set blocking or non-blocking mode of the channel: if C{blocking} is 0,</tt> </tt>
-<a name="L497"></a><tt class="py-lineno"> 497</tt> <tt class="py-line"><tt class="py-docstring"> the channel is set to non-blocking mode; otherwise it's set to blocking</tt> </tt>
-<a name="L498"></a><tt class="py-lineno"> 498</tt> <tt class="py-line"><tt class="py-docstring"> mode. Initially all channels are in blocking mode.</tt> </tt>
-<a name="L499"></a><tt class="py-lineno"> 499</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L500"></a><tt class="py-lineno"> 500</tt> <tt class="py-line"><tt class="py-docstring"> In non-blocking mode, if a L{recv} call doesn't find any data, or if a</tt> </tt>
-<a name="L501"></a><tt class="py-lineno"> 501</tt> <tt class="py-line"><tt class="py-docstring"> L{send} call can't immediately dispose of the data, an error exception</tt> </tt>
-<a name="L502"></a><tt class="py-lineno"> 502</tt> <tt class="py-line"><tt class="py-docstring"> is raised. In blocking mode, the calls block until they can proceed. An</tt> </tt>
-<a name="L503"></a><tt class="py-lineno"> 503</tt> <tt class="py-line"><tt class="py-docstring"> EOF condition is considered "immediate data" for L{recv}, so if the</tt> </tt>
-<a name="L504"></a><tt class="py-lineno"> 504</tt> <tt class="py-line"><tt class="py-docstring"> channel is closed in the read direction, it will never block.</tt> </tt>
-<a name="L505"></a><tt class="py-lineno"> 505</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L506"></a><tt class="py-lineno"> 506</tt> <tt class="py-line"><tt class="py-docstring"> C{chan.setblocking(0)} is equivalent to C{chan.settimeout(0)};</tt> </tt>
-<a name="L507"></a><tt class="py-lineno"> 507</tt> <tt class="py-line"><tt class="py-docstring"> C{chan.setblocking(1)} is equivalent to C{chan.settimeout(None)}.</tt> </tt>
-<a name="L508"></a><tt class="py-lineno"> 508</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L509"></a><tt class="py-lineno"> 509</tt> <tt class="py-line"><tt class="py-docstring"> @param blocking: 0 to set non-blocking mode; non-0 to set blocking</tt> </tt>
-<a name="L510"></a><tt class="py-lineno"> 510</tt> <tt class="py-line"><tt class="py-docstring"> mode.</tt> </tt>
-<a name="L511"></a><tt class="py-lineno"> 511</tt> <tt class="py-line"><tt class="py-docstring"> @type blocking: int</tt> </tt>
-<a name="L512"></a><tt class="py-lineno"> 512</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L513"></a><tt class="py-lineno"> 513</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">blocking</tt><tt class="py-op">:</tt> </tt>
-<a name="L514"></a><tt class="py-lineno"> 514</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name" targets="Method paramiko.Channel.settimeout()=paramiko.Channel-class.html#settimeout,Method paramiko.SFTPFile.settimeout()=paramiko.SFTPFile-class.html#settimeout"><a title="paramiko.Channel.settimeout
-paramiko.SFTPFile.settimeout" class="py-name" href="#" onclick="return doclink('link-107', 'settimeout', 'link-107');">settimeout</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L515"></a><tt class="py-lineno"> 515</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L516"></a><tt class="py-lineno"> 516</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="paramiko.Channel.settimeout
-paramiko.SFTPFile.settimeout" class="py-name" href="#" onclick="return doclink('link-108', 'settimeout', 'link-107');">settimeout</a></tt><tt class="py-op">(</tt><tt class="py-number">0.0</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L517"></a><tt class="py-lineno"> 517</tt> <tt class="py-line"> </tt>
-<a name="Channel.getpeername"></a><div id="Channel.getpeername-def"><a name="L518"></a><tt class="py-lineno"> 518</tt> <a class="py-toggle" href="#" id="Channel.getpeername-toggle" onclick="return toggle('Channel.getpeername');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#getpeername">getpeername</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.getpeername-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.getpeername-expanded"><a name="L519"></a><tt class="py-lineno"> 519</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L520"></a><tt class="py-lineno"> 520</tt> <tt class="py-line"><tt class="py-docstring"> Return the address of the remote side of this Channel, if possible.</tt> </tt>
-<a name="L521"></a><tt class="py-lineno"> 521</tt> <tt class="py-line"><tt class="py-docstring"> This is just a wrapper around C{'getpeername'} on the Transport, used</tt> </tt>
-<a name="L522"></a><tt class="py-lineno"> 522</tt> <tt class="py-line"><tt class="py-docstring"> to provide enough of a socket-like interface to allow asyncore to work.</tt> </tt>
-<a name="L523"></a><tt class="py-lineno"> 523</tt> <tt class="py-line"><tt class="py-docstring"> (asyncore likes to call C{'getpeername'}.)</tt> </tt>
-<a name="L524"></a><tt class="py-lineno"> 524</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L525"></a><tt class="py-lineno"> 525</tt> <tt class="py-line"><tt class="py-docstring"> @return: the address if the remote host, if known</tt> </tt>
-<a name="L526"></a><tt class="py-lineno"> 526</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: tuple(str, int)</tt> </tt>
-<a name="L527"></a><tt class="py-lineno"> 527</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L528"></a><tt class="py-lineno"> 528</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-109', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method paramiko.Channel.getpeername()=paramiko.Channel-class.html#getpeername,Method paramiko.Transport.getpeername()=paramiko.Transport-class.html#getpeername"><a title="paramiko.Channel.getpeername
-paramiko.Transport.getpeername" class="py-name" href="#" onclick="return doclink('link-110', 'getpeername', 'link-110');">getpeername</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L529"></a><tt class="py-lineno"> 529</tt> <tt class="py-line"> </tt>
-<a name="Channel.close"></a><div id="Channel.close-def"><a name="L530"></a><tt class="py-lineno"> 530</tt> <a class="py-toggle" href="#" id="Channel.close-toggle" onclick="return toggle('Channel.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.close-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.close-expanded"><a name="L531"></a><tt class="py-lineno"> 531</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L532"></a><tt class="py-lineno"> 532</tt> <tt class="py-line"><tt class="py-docstring"> Close the channel. All future read/write operations on the channel</tt> </tt>
-<a name="L533"></a><tt class="py-lineno"> 533</tt> <tt class="py-line"><tt class="py-docstring"> will fail. The remote end will receive no more data (after queued data</tt> </tt>
-<a name="L534"></a><tt class="py-lineno"> 534</tt> <tt class="py-line"><tt class="py-docstring"> is flushed). Channels are automatically closed when their L{Transport}</tt> </tt>
-<a name="L535"></a><tt class="py-lineno"> 535</tt> <tt class="py-line"><tt class="py-docstring"> is closed or when they are garbage collected.</tt> </tt>
-<a name="L536"></a><tt class="py-lineno"> 536</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L537"></a><tt class="py-lineno"> 537</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L538"></a><tt class="py-lineno"> 538</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L539"></a><tt class="py-lineno"> 539</tt> <tt class="py-line"> <tt class="py-comment"># only close the pipe when the user explicitly closes the channel.</tt> </tt>
-<a name="L540"></a><tt class="py-lineno"> 540</tt> <tt class="py-line"> <tt class="py-comment"># otherwise they will get unpleasant surprises. (and do it before</tt> </tt>
-<a name="L541"></a><tt class="py-lineno"> 541</tt> <tt class="py-line"> <tt class="py-comment"># checking self.closed, since the remote host may have already</tt> </tt>
-<a name="L542"></a><tt class="py-lineno"> 542</tt> <tt class="py-line"> <tt class="py-comment"># closed the connection.)</tt> </tt>
-<a name="L543"></a><tt class="py-lineno"> 543</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L544"></a><tt class="py-lineno"> 544</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-111', 'close', 'link-26');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L545"></a><tt class="py-lineno"> 545</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L546"></a><tt class="py-lineno"> 546</tt> <tt class="py-line"> </tt>
-<a name="L547"></a><tt class="py-lineno"> 547</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L548"></a><tt class="py-lineno"> 548</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L549"></a><tt class="py-lineno"> 549</tt> <tt class="py-line"> <tt class="py-name">msgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_close_internal</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L550"></a><tt class="py-lineno"> 550</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L551"></a><tt class="py-lineno"> 551</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L552"></a><tt class="py-lineno"> 552</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msgs</tt><tt class="py-op">:</tt> </tt>
-<a name="L553"></a><tt class="py-lineno"> 553</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">m</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L554"></a><tt class="py-lineno"> 554</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-112', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L555"></a><tt class="py-lineno"> 555</tt> <tt class="py-line"> </tt>
-<a name="Channel.recv_ready"></a><div id="Channel.recv_ready-def"><a name="L556"></a><tt class="py-lineno"> 556</tt> <a class="py-toggle" href="#" id="Channel.recv_ready-toggle" onclick="return toggle('Channel.recv_ready');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#recv_ready">recv_ready</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.recv_ready-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.recv_ready-expanded"><a name="L557"></a><tt class="py-lineno"> 557</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L558"></a><tt class="py-lineno"> 558</tt> <tt class="py-line"><tt class="py-docstring"> Returns true if data is buffered and ready to be read from this</tt> </tt>
-<a name="L559"></a><tt class="py-lineno"> 559</tt> <tt class="py-line"><tt class="py-docstring"> channel. A C{False} result does not mean that the channel has closed;</tt> </tt>
-<a name="L560"></a><tt class="py-lineno"> 560</tt> <tt class="py-line"><tt class="py-docstring"> it means you may need to wait before more data arrives.</tt> </tt>
-<a name="L561"></a><tt class="py-lineno"> 561</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L562"></a><tt class="py-lineno"> 562</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if a L{recv} call on this channel would immediately</tt> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt> <tt class="py-line"><tt class="py-docstring"> return at least one byte; C{False} otherwise.</tt> </tt>
-<a name="L564"></a><tt class="py-lineno"> 564</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: boolean</tt> </tt>
-<a name="L565"></a><tt class="py-lineno"> 565</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L566"></a><tt class="py-lineno"> 566</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name" targets="Method paramiko.buffered_pipe.BufferedPipe.read_ready()=paramiko.buffered_pipe.BufferedPipe-class.html#read_ready"><a title="paramiko.buffered_pipe.BufferedPipe.read_ready" class="py-name" href="#" onclick="return doclink('link-113', 'read_ready', 'link-113');">read_ready</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L567"></a><tt class="py-lineno"> 567</tt> <tt class="py-line"> </tt>
-<a name="Channel.recv"></a><div id="Channel.recv-def"><a name="L568"></a><tt class="py-lineno"> 568</tt> <a class="py-toggle" href="#" id="Channel.recv-toggle" onclick="return toggle('Channel.recv');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#recv">recv</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nbytes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.recv-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.recv-expanded"><a name="L569"></a><tt class="py-lineno"> 569</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L570"></a><tt class="py-lineno"> 570</tt> <tt class="py-line"><tt class="py-docstring"> Receive data from the channel. The return value is a string</tt> </tt>
-<a name="L571"></a><tt class="py-lineno"> 571</tt> <tt class="py-line"><tt class="py-docstring"> representing the data received. The maximum amount of data to be</tt> </tt>
-<a name="L572"></a><tt class="py-lineno"> 572</tt> <tt class="py-line"><tt class="py-docstring"> received at once is specified by C{nbytes}. If a string of length zero</tt> </tt>
-<a name="L573"></a><tt class="py-lineno"> 573</tt> <tt class="py-line"><tt class="py-docstring"> is returned, the channel stream has closed.</tt> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt> <tt class="py-line"><tt class="py-docstring"> @param nbytes: maximum number of bytes to read.</tt> </tt>
-<a name="L576"></a><tt class="py-lineno"> 576</tt> <tt class="py-line"><tt class="py-docstring"> @type nbytes: int</tt> </tt>
-<a name="L577"></a><tt class="py-lineno"> 577</tt> <tt class="py-line"><tt class="py-docstring"> @return: data.</tt> </tt>
-<a name="L578"></a><tt class="py-lineno"> 578</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L579"></a><tt class="py-lineno"> 579</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L580"></a><tt class="py-lineno"> 580</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.timeout: if no data is ready before the timeout set by</tt> </tt>
-<a name="L581"></a><tt class="py-lineno"> 581</tt> <tt class="py-line"><tt class="py-docstring"> L{settimeout}.</tt> </tt>
-<a name="L582"></a><tt class="py-lineno"> 582</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L583"></a><tt class="py-lineno"> 583</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-114', 'read', 'link-91');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nbytes</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L585"></a><tt class="py-lineno"> 585</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-115" class="py-name"><a title="paramiko.buffered_pipe.PipeTimeout" class="py-name" href="#" onclick="return doclink('link-115', 'PipeTimeout', 'link-16');">PipeTimeout</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L586"></a><tt class="py-lineno"> 586</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L587"></a><tt class="py-lineno"> 587</tt> <tt class="py-line"> </tt>
-<a name="L588"></a><tt class="py-lineno"> 588</tt> <tt class="py-line"> <tt class="py-name">ack</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_add_window</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L589"></a><tt class="py-lineno"> 589</tt> <tt class="py-line"> <tt class="py-comment"># no need to hold the channel lock when sending this</tt> </tt>
-<a name="L590"></a><tt class="py-lineno"> 590</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ack</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L591"></a><tt class="py-lineno"> 591</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-116" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-116', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno"> 592</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-117', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-118" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST=paramiko.auth_handler-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST=paramiko.channel-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.client.MSG_CHANNEL_WINDOW_ADJUST=paramiko.client-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.common.MSG_CHANNEL_WINDOW_ADJUST=paramiko.common-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.dsskey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST=paramiko.hostkeys-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST=paramiko.kex_gex-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST=paramiko.kex_group1-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST=paramiko.packet-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.pkey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.rsakey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.server.MSG_CHANNEL_WINDOW_ADJUST=paramiko.server-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_attr-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_client-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_file-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_handle-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_server-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_si-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST=paramiko.transport-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.util.MSG_CHANNEL_WINDOW_ADJUST=paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST"><a title="paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.common.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.util.MSG_CHANNEL_WINDOW_ADJUST" class="py-name" href="#" onclick="return doclink('link-118', 'MSG_CHANNEL_WINDOW_ADJUST', 'link-118');">MSG_CHANNEL_WINDOW_ADJUST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L593"></a><tt class="py-lineno"> 593</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-119', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L594"></a><tt class="py-lineno"> 594</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-120', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">ack</tt><tt class="py-op">)</tt> </tt>
-<a name="L595"></a><tt class="py-lineno"> 595</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-121', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L596"></a><tt class="py-lineno"> 596</tt> <tt class="py-line"> </tt>
-<a name="L597"></a><tt class="py-lineno"> 597</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L598"></a><tt class="py-lineno"> 598</tt> <tt class="py-line"> </tt>
-<a name="Channel.recv_stderr_ready"></a><div id="Channel.recv_stderr_ready-def"><a name="L599"></a><tt class="py-lineno"> 599</tt> <a class="py-toggle" href="#" id="Channel.recv_stderr_ready-toggle" onclick="return toggle('Channel.recv_stderr_ready');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#recv_stderr_ready">recv_stderr_ready</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.recv_stderr_ready-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.recv_stderr_ready-expanded"><a name="L600"></a><tt class="py-lineno"> 600</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L601"></a><tt class="py-lineno"> 601</tt> <tt class="py-line"><tt class="py-docstring"> Returns true if data is buffered and ready to be read from this</tt> </tt>
-<a name="L602"></a><tt class="py-lineno"> 602</tt> <tt class="py-line"><tt class="py-docstring"> channel's stderr stream. Only channels using L{exec_command} or</tt> </tt>
-<a name="L603"></a><tt class="py-lineno"> 603</tt> <tt class="py-line"><tt class="py-docstring"> L{invoke_shell} without a pty will ever have data on the stderr</tt> </tt>
-<a name="L604"></a><tt class="py-lineno"> 604</tt> <tt class="py-line"><tt class="py-docstring"> stream.</tt> </tt>
-<a name="L605"></a><tt class="py-lineno"> 605</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L606"></a><tt class="py-lineno"> 606</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if a L{recv_stderr} call on this channel would</tt> </tt>
-<a name="L607"></a><tt class="py-lineno"> 607</tt> <tt class="py-line"><tt class="py-docstring"> immediately return at least one byte; C{False} otherwise.</tt> </tt>
-<a name="L608"></a><tt class="py-lineno"> 608</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: boolean</tt> </tt>
-<a name="L609"></a><tt class="py-lineno"> 609</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L610"></a><tt class="py-lineno"> 610</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L611"></a><tt class="py-lineno"> 611</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L612"></a><tt class="py-lineno"> 612</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="paramiko.buffered_pipe.BufferedPipe.read_ready" class="py-name" href="#" onclick="return doclink('link-122', 'read_ready', 'link-113');">read_ready</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L613"></a><tt class="py-lineno"> 613</tt> <tt class="py-line"> </tt>
-<a name="Channel.recv_stderr"></a><div id="Channel.recv_stderr-def"><a name="L614"></a><tt class="py-lineno"> 614</tt> <a class="py-toggle" href="#" id="Channel.recv_stderr-toggle" onclick="return toggle('Channel.recv_stderr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#recv_stderr">recv_stderr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nbytes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.recv_stderr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.recv_stderr-expanded"><a name="L615"></a><tt class="py-lineno"> 615</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L616"></a><tt class="py-lineno"> 616</tt> <tt class="py-line"><tt class="py-docstring"> Receive data from the channel's stderr stream. Only channels using</tt> </tt>
-<a name="L617"></a><tt class="py-lineno"> 617</tt> <tt class="py-line"><tt class="py-docstring"> L{exec_command} or L{invoke_shell} without a pty will ever have data</tt> </tt>
-<a name="L618"></a><tt class="py-lineno"> 618</tt> <tt class="py-line"><tt class="py-docstring"> on the stderr stream. The return value is a string representing the</tt> </tt>
-<a name="L619"></a><tt class="py-lineno"> 619</tt> <tt class="py-line"><tt class="py-docstring"> data received. The maximum amount of data to be received at once is</tt> </tt>
-<a name="L620"></a><tt class="py-lineno"> 620</tt> <tt class="py-line"><tt class="py-docstring"> specified by C{nbytes}. If a string of length zero is returned, the</tt> </tt>
-<a name="L621"></a><tt class="py-lineno"> 621</tt> <tt class="py-line"><tt class="py-docstring"> channel stream has closed.</tt> </tt>
-<a name="L622"></a><tt class="py-lineno"> 622</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L623"></a><tt class="py-lineno"> 623</tt> <tt class="py-line"><tt class="py-docstring"> @param nbytes: maximum number of bytes to read.</tt> </tt>
-<a name="L624"></a><tt class="py-lineno"> 624</tt> <tt class="py-line"><tt class="py-docstring"> @type nbytes: int</tt> </tt>
-<a name="L625"></a><tt class="py-lineno"> 625</tt> <tt class="py-line"><tt class="py-docstring"> @return: data.</tt> </tt>
-<a name="L626"></a><tt class="py-lineno"> 626</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L628"></a><tt class="py-lineno"> 628</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.timeout: if no data is ready before the timeout set by</tt> </tt>
-<a name="L629"></a><tt class="py-lineno"> 629</tt> <tt class="py-line"><tt class="py-docstring"> L{settimeout}.</tt> </tt>
-<a name="L630"></a><tt class="py-lineno"> 630</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L633"></a><tt class="py-lineno"> 633</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L634"></a><tt class="py-lineno"> 634</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-123', 'read', 'link-91');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nbytes</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L635"></a><tt class="py-lineno"> 635</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-124" class="py-name"><a title="paramiko.buffered_pipe.PipeTimeout" class="py-name" href="#" onclick="return doclink('link-124', 'PipeTimeout', 'link-16');">PipeTimeout</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L636"></a><tt class="py-lineno"> 636</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L637"></a><tt class="py-lineno"> 637</tt> <tt class="py-line"> </tt>
-<a name="L638"></a><tt class="py-lineno"> 638</tt> <tt class="py-line"> <tt class="py-name">ack</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_add_window</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"> <tt class="py-comment"># no need to hold the channel lock when sending this</tt> </tt>
-<a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ack</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-125', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-126', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-127" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.common.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.util.MSG_CHANNEL_WINDOW_ADJUST" class="py-name" href="#" onclick="return doclink('link-127', 'MSG_CHANNEL_WINDOW_ADJUST', 'link-118');">MSG_CHANNEL_WINDOW_ADJUST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-128', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-129', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">ack</tt><tt class="py-op">)</tt> </tt>
-<a name="L645"></a><tt class="py-lineno"> 645</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-130', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"> </tt>
-<a name="L647"></a><tt class="py-lineno"> 647</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"> </tt>
-<a name="Channel.send_ready"></a><div id="Channel.send_ready-def"><a name="L649"></a><tt class="py-lineno"> 649</tt> <a class="py-toggle" href="#" id="Channel.send_ready-toggle" onclick="return toggle('Channel.send_ready');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#send_ready">send_ready</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.send_ready-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.send_ready-expanded"><a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"><tt class="py-docstring"> Returns true if data can be written to this channel without blocking.</tt> </tt>
-<a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"><tt class="py-docstring"> This means the channel is either closed (so any write attempt would</tt> </tt>
-<a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"><tt class="py-docstring"> return immediately) or there is at least one byte of space in the </tt> </tt>
-<a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"><tt class="py-docstring"> outbound buffer. If there is at least one byte of space in the</tt> </tt>
-<a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"><tt class="py-docstring"> outbound buffer, a L{send} call will succeed immediately and return</tt> </tt>
-<a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"><tt class="py-docstring"> the number of bytes actually written.</tt> </tt>
-<a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if a L{send} call on this channel would immediately</tt> </tt>
-<a name="L659"></a><tt class="py-lineno"> 659</tt> <tt class="py-line"><tt class="py-docstring"> succeed or fail</tt> </tt>
-<a name="L660"></a><tt class="py-lineno"> 660</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: boolean</tt> </tt>
-<a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L662"></a><tt class="py-lineno"> 662</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt><tt class="py-op">:</tt> </tt>
-<a name="L665"></a><tt class="py-lineno"> 665</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> </tt>
-<a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"> </tt>
-<a name="Channel.send"></a><div id="Channel.send-def"><a name="L670"></a><tt class="py-lineno"> 670</tt> <a class="py-toggle" href="#" id="Channel.send-toggle" onclick="return toggle('Channel.send');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#send">send</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.send-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.send-expanded"><a name="L671"></a><tt class="py-lineno"> 671</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"><tt class="py-docstring"> Send data to the channel. Returns the number of bytes sent, or 0 if</tt> </tt>
-<a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"><tt class="py-docstring"> the channel stream is closed. Applications are responsible for</tt> </tt>
-<a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"><tt class="py-docstring"> checking that all data has been sent: if only some of the data was</tt> </tt>
-<a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"><tt class="py-docstring"> transmitted, the application needs to attempt delivery of the remaining</tt> </tt>
-<a name="L676"></a><tt class="py-lineno"> 676</tt> <tt class="py-line"><tt class="py-docstring"> data.</tt> </tt>
-<a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"><tt class="py-docstring"> @param s: data to send</tt> </tt>
-<a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"><tt class="py-docstring"> @type s: str</tt> </tt>
-<a name="L680"></a><tt class="py-lineno"> 680</tt> <tt class="py-line"><tt class="py-docstring"> @return: number of bytes actually sent</tt> </tt>
-<a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L682"></a><tt class="py-lineno"> 682</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.timeout: if no data could be sent before the timeout set</tt> </tt>
-<a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"><tt class="py-docstring"> by L{settimeout}.</tt> </tt>
-<a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L688"></a><tt class="py-lineno"> 688</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L689"></a><tt class="py-lineno"> 689</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_send_window</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-<a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L691"></a><tt class="py-lineno"> 691</tt> <tt class="py-line"> <tt class="py-comment"># eof or similar</tt> </tt>
-<a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-131" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-131', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-132', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-133" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_DATA=paramiko.auth_handler-module.html#MSG_CHANNEL_DATA,Variable paramiko.channel.MSG_CHANNEL_DATA=paramiko.channel-module.html#MSG_CHANNEL_DATA,Variable paramiko.client.MSG_CHANNEL_DATA=paramiko.client-module.html#MSG_CHANNEL_DATA,Variable paramiko.common.MSG_CHANNEL_DATA=paramiko.common-module.html#MSG_CHANNEL_DATA,Variable paramiko.dsskey.MSG_CHANNEL_DATA=paramiko.dsskey-module.html#MSG_CHANNEL_DATA,Variable paramiko.hostkeys.MSG_CHANNEL_DATA=paramiko.hostkeys-module.html#MSG_CHANNEL_DATA,Variable paramiko.kex_gex.MSG_CHANNEL_DATA=paramiko.kex_gex-module.html#MSG_CHANNEL_DATA,Variable paramiko.kex_group1.MSG_CHANNEL_DATA=paramiko.kex_group1-module.html#MSG_CHANNEL_DATA,Variable paramiko.packet.MSG_CHANNEL_DATA=paramiko.packet-module.html#MSG_CHANNEL_DATA,Variable paramiko.pkey.MSG_CHANNEL_DATA=paramiko.pkey-module.html#MSG_CHANNEL_DATA,Variable paramiko.rsakey.MSG_CHANNEL_DATA=paramiko.rsakey-module.html#MSG_CHANNEL_DATA,Variable paramiko.server.MSG_CHANNEL_DATA=paramiko.server-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp.MSG_CHANNEL_DATA=paramiko.sftp-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_attr.MSG_CHANNEL_DATA=paramiko.sftp_attr-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_client.MSG_CHANNEL_DATA=paramiko.sftp_client-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_file.MSG_CHANNEL_DATA=paramiko.sftp_file-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_handle.MSG_CHANNEL_DATA=paramiko.sftp_handle-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_server.MSG_CHANNEL_DATA=paramiko.sftp_server-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_si.MSG_CHANNEL_DATA=paramiko.sftp_si-module.html#MSG_CHANNEL_DATA,Variable paramiko.transport.MSG_CHANNEL_DATA=paramiko.transport-module.html#MSG_CHANNEL_DATA,Variable paramiko.util.MSG_CHANNEL_DATA=paramiko.util-module.html#MSG_CHANNEL_DATA"><a title="paramiko.auth_handler.MSG_CHANNEL_DATA
-paramiko.channel.MSG_CHANNEL_DATA
-paramiko.client.MSG_CHANNEL_DATA
-paramiko.common.MSG_CHANNEL_DATA
-paramiko.dsskey.MSG_CHANNEL_DATA
-paramiko.hostkeys.MSG_CHANNEL_DATA
-paramiko.kex_gex.MSG_CHANNEL_DATA
-paramiko.kex_group1.MSG_CHANNEL_DATA
-paramiko.packet.MSG_CHANNEL_DATA
-paramiko.pkey.MSG_CHANNEL_DATA
-paramiko.rsakey.MSG_CHANNEL_DATA
-paramiko.server.MSG_CHANNEL_DATA
-paramiko.sftp.MSG_CHANNEL_DATA
-paramiko.sftp_attr.MSG_CHANNEL_DATA
-paramiko.sftp_client.MSG_CHANNEL_DATA
-paramiko.sftp_file.MSG_CHANNEL_DATA
-paramiko.sftp_handle.MSG_CHANNEL_DATA
-paramiko.sftp_server.MSG_CHANNEL_DATA
-paramiko.sftp_si.MSG_CHANNEL_DATA
-paramiko.transport.MSG_CHANNEL_DATA
-paramiko.util.MSG_CHANNEL_DATA" class="py-name" href="#" onclick="return doclink('link-133', 'MSG_CHANNEL_DATA', 'link-133');">MSG_CHANNEL_DATA</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-134', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-135', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L697"></a><tt class="py-lineno"> 697</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"> <tt class="py-comment"># Note: We release self.lock before calling _send_user_message.</tt> </tt>
-<a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"> <tt class="py-comment"># Otherwise, we can deadlock during re-keying.</tt> </tt>
-<a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-136', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">size</tt> </tt>
-</div><a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"> </tt>
-<a name="Channel.send_stderr"></a><div id="Channel.send_stderr-def"><a name="L704"></a><tt class="py-lineno"> 704</tt> <a class="py-toggle" href="#" id="Channel.send_stderr-toggle" onclick="return toggle('Channel.send_stderr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#send_stderr">send_stderr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.send_stderr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.send_stderr-expanded"><a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L706"></a><tt class="py-lineno"> 706</tt> <tt class="py-line"><tt class="py-docstring"> Send data to the channel on the "stderr" stream. This is normally</tt> </tt>
-<a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"><tt class="py-docstring"> only used by servers to send output from shell commands -- clients</tt> </tt>
-<a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"><tt class="py-docstring"> won't use this. Returns the number of bytes sent, or 0 if the channel</tt> </tt>
-<a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"><tt class="py-docstring"> stream is closed. Applications are responsible for checking that all</tt> </tt>
-<a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"><tt class="py-docstring"> data has been sent: if only some of the data was transmitted, the</tt> </tt>
-<a name="L711"></a><tt class="py-lineno"> 711</tt> <tt class="py-line"><tt class="py-docstring"> application needs to attempt delivery of the remaining data.</tt> </tt>
-<a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"><tt class="py-docstring"> @param s: data to send.</tt> </tt>
-<a name="L714"></a><tt class="py-lineno"> 714</tt> <tt class="py-line"><tt class="py-docstring"> @type s: str</tt> </tt>
-<a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"><tt class="py-docstring"> @return: number of bytes actually sent.</tt> </tt>
-<a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.timeout: if no data could be sent before the timeout set</tt> </tt>
-<a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"><tt class="py-docstring"> by L{settimeout}.</tt> </tt>
-<a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L723"></a><tt class="py-lineno"> 723</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait_for_send_window</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-<a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"> <tt class="py-comment"># eof or similar</tt> </tt>
-<a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-137', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L731"></a><tt class="py-lineno"> 731</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-138', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-139" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA=paramiko.auth_handler-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.channel.MSG_CHANNEL_EXTENDED_DATA=paramiko.channel-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.client.MSG_CHANNEL_EXTENDED_DATA=paramiko.client-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.common.MSG_CHANNEL_EXTENDED_DATA=paramiko.common-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA=paramiko.dsskey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA=paramiko.hostkeys-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA=paramiko.kex_gex-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA=paramiko.kex_group1-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.packet.MSG_CHANNEL_EXTENDED_DATA=paramiko.packet-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA=paramiko.pkey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA=paramiko.rsakey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.server.MSG_CHANNEL_EXTENDED_DATA=paramiko.server-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_attr-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_client-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_file-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_handle-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_server-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_si-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.transport.MSG_CHANNEL_EXTENDED_DATA=paramiko.transport-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.util.MSG_CHANNEL_EXTENDED_DATA=paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA"><a title="paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA
-paramiko.channel.MSG_CHANNEL_EXTENDED_DATA
-paramiko.client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.common.MSG_CHANNEL_EXTENDED_DATA
-paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA
-paramiko.packet.MSG_CHANNEL_EXTENDED_DATA
-paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA
-paramiko.transport.MSG_CHANNEL_EXTENDED_DATA
-paramiko.util.MSG_CHANNEL_EXTENDED_DATA" class="py-name" href="#" onclick="return doclink('link-139', 'MSG_CHANNEL_EXTENDED_DATA', 'link-139');">MSG_CHANNEL_EXTENDED_DATA</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L732"></a><tt class="py-lineno"> 732</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-140', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-141', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-142', 'add_string', 'link-33');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"> <tt class="py-comment"># Note: We release self.lock before calling _send_user_message.</tt> </tt>
-<a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"> <tt class="py-comment"># Otherwise, we can deadlock during re-keying.</tt> </tt>
-<a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-143', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">size</tt> </tt>
-</div><a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"> </tt>
-<a name="Channel.sendall"></a><div id="Channel.sendall-def"><a name="L742"></a><tt class="py-lineno"> 742</tt> <a class="py-toggle" href="#" id="Channel.sendall-toggle" onclick="return toggle('Channel.sendall');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#sendall">sendall</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.sendall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.sendall-expanded"><a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"><tt class="py-docstring"> Send data to the channel, without allowing partial results. Unlike</tt> </tt>
-<a name="L745"></a><tt class="py-lineno"> 745</tt> <tt class="py-line"><tt class="py-docstring"> L{send}, this method continues to send data from the given string until</tt> </tt>
-<a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"><tt class="py-docstring"> either all data has been sent or an error occurs. Nothing is returned.</tt> </tt>
-<a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"><tt class="py-docstring"> @param s: data to send.</tt> </tt>
-<a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"><tt class="py-docstring"> @type s: str</tt> </tt>
-<a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L751"></a><tt class="py-lineno"> 751</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.timeout: if sending stalled for longer than the timeout</tt> </tt>
-<a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"><tt class="py-docstring"> set by L{settimeout}.</tt> </tt>
-<a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.error: if an error occured before the entire string was</tt> </tt>
-<a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"><tt class="py-docstring"> sent.</tt> </tt>
-<a name="L755"></a><tt class="py-lineno"> 755</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"><tt class="py-docstring"> @note: If the channel is closed while only part of the data hase been</tt> </tt>
-<a name="L757"></a><tt class="py-lineno"> 757</tt> <tt class="py-line"><tt class="py-docstring"> sent, there is no way to determine how much data (if any) was sent.</tt> </tt>
-<a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"><tt class="py-docstring"> This is irritating, but identically follows python's API.</tt> </tt>
-<a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
-<a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L762"></a><tt class="py-lineno"> 762</tt> <tt class="py-line"> <tt class="py-comment"># this doesn't seem useful, but it is the documented behavior of Socket</tt> </tt>
-<a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'Socket is closed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"> <tt class="py-name">sent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name" targets="Method paramiko.Channel.send()=paramiko.Channel-class.html#send,Method paramiko.win_pageant.PageantConnection.send()=paramiko.win_pageant.PageantConnection-class.html#send"><a title="paramiko.Channel.send
-paramiko.win_pageant.PageantConnection.send" class="py-name" href="#" onclick="return doclink('link-144', 'send', 'link-144');">send</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">sent</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"> </tt>
-<a name="Channel.sendall_stderr"></a><div id="Channel.sendall_stderr-def"><a name="L768"></a><tt class="py-lineno"> 768</tt> <a class="py-toggle" href="#" id="Channel.sendall_stderr-toggle" onclick="return toggle('Channel.sendall_stderr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#sendall_stderr">sendall_stderr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.sendall_stderr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.sendall_stderr-expanded"><a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"><tt class="py-docstring"> Send data to the channel's "stderr" stream, without allowing partial</tt> </tt>
-<a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"><tt class="py-docstring"> results. Unlike L{send_stderr}, this method continues to send data</tt> </tt>
-<a name="L772"></a><tt class="py-lineno"> 772</tt> <tt class="py-line"><tt class="py-docstring"> from the given string until all data has been sent or an error occurs.</tt> </tt>
-<a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"><tt class="py-docstring"> Nothing is returned.</tt> </tt>
-<a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L775"></a><tt class="py-lineno"> 775</tt> <tt class="py-line"><tt class="py-docstring"> @param s: data to send to the client as "stderr" output.</tt> </tt>
-<a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"><tt class="py-docstring"> @type s: str</tt> </tt>
-<a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.timeout: if sending stalled for longer than the timeout</tt> </tt>
-<a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"><tt class="py-docstring"> set by L{settimeout}.</tt> </tt>
-<a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.error: if an error occured before the entire string was</tt> </tt>
-<a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"><tt class="py-docstring"> sent.</tt> </tt>
-<a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
-<a name="L786"></a><tt class="py-lineno"> 786</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'Socket is closed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L788"></a><tt class="py-lineno"> 788</tt> <tt class="py-line"> <tt class="py-name">sent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method paramiko.Channel.send_stderr()=paramiko.Channel-class.html#send_stderr"><a title="paramiko.Channel.send_stderr" class="py-name" href="#" onclick="return doclink('link-145', 'send_stderr', 'link-145');">send_stderr</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">sent</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"> </tt>
-<a name="Channel.makefile"></a><div id="Channel.makefile-def"><a name="L792"></a><tt class="py-lineno"> 792</tt> <a class="py-toggle" href="#" id="Channel.makefile-toggle" onclick="return toggle('Channel.makefile');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#makefile">makefile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.makefile-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.makefile-expanded"><a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"><tt class="py-docstring"> Return a file-like object associated with this channel. The optional</tt> </tt>
-<a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"><tt class="py-docstring"> C{mode} and C{bufsize} arguments are interpreted the same way as by</tt> </tt>
-<a name="L796"></a><tt class="py-lineno"> 796</tt> <tt class="py-line"><tt class="py-docstring"> the built-in C{file()} function in python.</tt> </tt>
-<a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L798"></a><tt class="py-lineno"> 798</tt> <tt class="py-line"><tt class="py-docstring"> @return: object which can be used for python file I/O.</tt> </tt>
-<a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{ChannelFile}</tt> </tt>
-<a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ChannelFile</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L802"></a><tt class="py-lineno"> 802</tt> <tt class="py-line"> </tt>
-<a name="Channel.makefile_stderr"></a><div id="Channel.makefile_stderr-def"><a name="L803"></a><tt class="py-lineno"> 803</tt> <a class="py-toggle" href="#" id="Channel.makefile_stderr-toggle" onclick="return toggle('Channel.makefile_stderr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#makefile_stderr">makefile_stderr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.makefile_stderr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.makefile_stderr-expanded"><a name="L804"></a><tt class="py-lineno"> 804</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L805"></a><tt class="py-lineno"> 805</tt> <tt class="py-line"><tt class="py-docstring"> Return a file-like object associated with this channel's stderr</tt> </tt>
-<a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"><tt class="py-docstring"> stream. Only channels using L{exec_command} or L{invoke_shell}</tt> </tt>
-<a name="L807"></a><tt class="py-lineno"> 807</tt> <tt class="py-line"><tt class="py-docstring"> without a pty will ever have data on the stderr stream.</tt> </tt>
-<a name="L808"></a><tt class="py-lineno"> 808</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L809"></a><tt class="py-lineno"> 809</tt> <tt class="py-line"><tt class="py-docstring"> The optional C{mode} and C{bufsize} arguments are interpreted the</tt> </tt>
-<a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"><tt class="py-docstring"> same way as by the built-in C{file()} function in python. For a</tt> </tt>
-<a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"><tt class="py-docstring"> client, it only makes sense to open this file for reading. For a</tt> </tt>
-<a name="L812"></a><tt class="py-lineno"> 812</tt> <tt class="py-line"><tt class="py-docstring"> server, it only makes sense to open this file for writing.</tt> </tt>
-<a name="L813"></a><tt class="py-lineno"> 813</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"><tt class="py-docstring"> @return: object which can be used for python file I/O.</tt> </tt>
-<a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{ChannelFile}</tt> </tt>
-<a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L818"></a><tt class="py-lineno"> 818</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L819"></a><tt class="py-lineno"> 819</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-146" class="py-name" targets="Class paramiko.channel.ChannelStderrFile=paramiko.channel.ChannelStderrFile-class.html"><a title="paramiko.channel.ChannelStderrFile" class="py-name" href="#" onclick="return doclink('link-146', 'ChannelStderrFile', 'link-146');">ChannelStderrFile</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"> </tt>
-<a name="Channel.fileno"></a><div id="Channel.fileno-def"><a name="L821"></a><tt class="py-lineno"> 821</tt> <a class="py-toggle" href="#" id="Channel.fileno-toggle" onclick="return toggle('Channel.fileno');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#fileno">fileno</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.fileno-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.fileno-expanded"><a name="L822"></a><tt class="py-lineno"> 822</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"><tt class="py-docstring"> Returns an OS-level file descriptor which can be used for polling, but</tt> </tt>
-<a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"><tt class="py-docstring"> but I{not} for reading or writing. This is primaily to allow python's</tt> </tt>
-<a name="L825"></a><tt class="py-lineno"> 825</tt> <tt class="py-line"><tt class="py-docstring"> C{select} module to work.</tt> </tt>
-<a name="L826"></a><tt class="py-lineno"> 826</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"><tt class="py-docstring"> The first time C{fileno} is called on a channel, a pipe is created to</tt> </tt>
-<a name="L828"></a><tt class="py-lineno"> 828</tt> <tt class="py-line"><tt class="py-docstring"> simulate real OS-level file descriptor (FD) behavior. Because of this,</tt> </tt>
-<a name="L829"></a><tt class="py-lineno"> 829</tt> <tt class="py-line"><tt class="py-docstring"> two OS-level FDs are created, which will use up FDs faster than normal.</tt> </tt>
-<a name="L830"></a><tt class="py-lineno"> 830</tt> <tt class="py-line"><tt class="py-docstring"> (You won't notice this effect unless you have hundreds of channels</tt> </tt>
-<a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"><tt class="py-docstring"> open at the same time.)</tt> </tt>
-<a name="L832"></a><tt class="py-lineno"> 832</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"><tt class="py-docstring"> @return: an OS-level file descriptor</tt> </tt>
-<a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"><tt class="py-docstring"> @warning: This method causes channel reads to be slightly less</tt> </tt>
-<a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"><tt class="py-docstring"> efficient.</tt> </tt>
-<a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Method paramiko.Channel.fileno()=paramiko.Channel-class.html#fileno,Method paramiko.pipe.PosixPipe.fileno()=paramiko.pipe.PosixPipe-class.html#fileno,Method paramiko.pipe.WindowsPipe.fileno()=paramiko.pipe.WindowsPipe-class.html#fileno"><a title="paramiko.Channel.fileno
-paramiko.pipe.PosixPipe.fileno
-paramiko.pipe.WindowsPipe.fileno" class="py-name" href="#" onclick="return doclink('link-147', 'fileno', 'link-147');">fileno</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"> <tt class="py-comment"># create the pipe and feed in any existing data</tt> </tt>
-<a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-op">=</tt> <tt id="link-148" class="py-name"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-148', 'pipe', 'link-18');">pipe</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name" targets="Function paramiko.pipe.make_pipe()=paramiko.pipe-module.html#make_pipe"><a title="paramiko.pipe.make_pipe" class="py-name" href="#" onclick="return doclink('link-149', 'make_pipe', 'link-149');">make_pipe</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L845"></a><tt class="py-lineno"> 845</tt> <tt class="py-line"> <tt class="py-name">p1</tt><tt class="py-op">,</tt> <tt class="py-name">p2</tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-150', 'pipe', 'link-18');">pipe</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Function paramiko.pipe.make_or_pipe()=paramiko.pipe-module.html#make_or_pipe"><a title="paramiko.pipe.make_or_pipe" class="py-name" href="#" onclick="return doclink('link-151', 'make_or_pipe', 'link-151');">make_or_pipe</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">)</tt> </tt>
-<a name="L846"></a><tt class="py-lineno"> 846</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name" targets="Method paramiko.buffered_pipe.BufferedPipe.set_event()=paramiko.buffered_pipe.BufferedPipe-class.html#set_event"><a title="paramiko.buffered_pipe.BufferedPipe.set_event" class="py-name" href="#" onclick="return doclink('link-152', 'set_event', 'link-152');">set_event</a></tt><tt class="py-op">(</tt><tt class="py-name">p1</tt><tt class="py-op">)</tt> </tt>
-<a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="paramiko.buffered_pipe.BufferedPipe.set_event" class="py-name" href="#" onclick="return doclink('link-153', 'set_event', 'link-152');">set_event</a></tt><tt class="py-op">(</tt><tt class="py-name">p2</tt><tt class="py-op">)</tt> </tt>
-<a name="L848"></a><tt class="py-lineno"> 848</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="paramiko.Channel.fileno
-paramiko.pipe.PosixPipe.fileno
-paramiko.pipe.WindowsPipe.fileno" class="py-name" href="#" onclick="return doclink('link-154', 'fileno', 'link-147');">fileno</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"> </tt>
-<a name="Channel.shutdown"></a><div id="Channel.shutdown-def"><a name="L852"></a><tt class="py-lineno"> 852</tt> <a class="py-toggle" href="#" id="Channel.shutdown-toggle" onclick="return toggle('Channel.shutdown');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#shutdown">shutdown</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">how</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.shutdown-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.shutdown-expanded"><a name="L853"></a><tt class="py-lineno"> 853</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"><tt class="py-docstring"> Shut down one or both halves of the connection. If C{how} is 0,</tt> </tt>
-<a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"><tt class="py-docstring"> further receives are disallowed. If C{how} is 1, further sends</tt> </tt>
-<a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"><tt class="py-docstring"> are disallowed. If C{how} is 2, further sends and receives are</tt> </tt>
-<a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"><tt class="py-docstring"> disallowed. This closes the stream in one or both directions.</tt> </tt>
-<a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"><tt class="py-docstring"> @param how: 0 (stop receiving), 1 (stop sending), or 2 (stop</tt> </tt>
-<a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"><tt class="py-docstring"> receiving and sending).</tt> </tt>
-<a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"><tt class="py-docstring"> @type how: int</tt> </tt>
-<a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L863"></a><tt class="py-lineno"> 863</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">how</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">how</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"> <tt class="py-comment"># feign "read" shutdown</tt> </tt>
-<a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L866"></a><tt class="py-lineno"> 866</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">how</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">how</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_eof</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">m</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-155', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"> </tt>
-<a name="Channel.shutdown_read"></a><div id="Channel.shutdown_read-def"><a name="L875"></a><tt class="py-lineno"> 875</tt> <a class="py-toggle" href="#" id="Channel.shutdown_read-toggle" onclick="return toggle('Channel.shutdown_read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#shutdown_read">shutdown_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.shutdown_read-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.shutdown_read-expanded"><a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"><tt class="py-docstring"> Shutdown the receiving side of this socket, closing the stream in</tt> </tt>
-<a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"><tt class="py-docstring"> the incoming direction. After this call, future reads on this</tt> </tt>
-<a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"><tt class="py-docstring"> channel will fail instantly. This is a convenience method, equivalent</tt> </tt>
-<a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"><tt class="py-docstring"> to C{shutdown(0)}, for people who don't make it a habit to</tt> </tt>
-<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"><tt class="py-docstring"> memorize unix constants from the 1970s.</tt> </tt>
-<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.2</tt> </tt>
-<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name" targets="Method paramiko.Channel.shutdown()=paramiko.Channel-class.html#shutdown"><a title="paramiko.Channel.shutdown" class="py-name" href="#" onclick="return doclink('link-156', 'shutdown', 'link-156');">shutdown</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"> </tt>
-<a name="Channel.shutdown_write"></a><div id="Channel.shutdown_write-def"><a name="L887"></a><tt class="py-lineno"> 887</tt> <a class="py-toggle" href="#" id="Channel.shutdown_write-toggle" onclick="return toggle('Channel.shutdown_write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#shutdown_write">shutdown_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel.shutdown_write-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel.shutdown_write-expanded"><a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"><tt class="py-docstring"> Shutdown the sending side of this socket, closing the stream in</tt> </tt>
-<a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"><tt class="py-docstring"> the outgoing direction. After this call, future writes on this</tt> </tt>
-<a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"><tt class="py-docstring"> channel will fail instantly. This is a convenience method, equivalent</tt> </tt>
-<a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"><tt class="py-docstring"> to C{shutdown(1)}, for people who don't make it a habit to</tt> </tt>
-<a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"><tt class="py-docstring"> memorize unix constants from the 1970s.</tt> </tt>
-<a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L895"></a><tt class="py-lineno"> 895</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.2</tt> </tt>
-<a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="paramiko.Channel.shutdown" class="py-name" href="#" onclick="return doclink('link-157', 'shutdown', 'link-156');">shutdown</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"> </tt>
-<a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"> </tt>
-<a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"> <tt class="py-comment">### calls from Transport</tt> </tt>
-<a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"> </tt>
-<a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"> </tt>
-<a name="Channel._set_transport"></a><div id="Channel._set_transport-def"><a name="L903"></a><tt class="py-lineno"> 903</tt> <a class="py-toggle" href="#" id="Channel._set_transport-toggle" onclick="return toggle('Channel._set_transport');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_set_transport">_set_transport</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._set_transport-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._set_transport-expanded"><a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-158', 'transport', 'link-20');">transport</a></tt> <tt class="py-op">=</tt> <tt id="link-159" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-159', 'transport', 'link-20');">transport</a></tt> </tt>
-<a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-160', 'logger', 'link-23');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-161', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-162', 'get_logger', 'link-25');">get_logger</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-163', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name" targets="Method paramiko.Transport.get_log_channel()=paramiko.Transport-class.html#get_log_channel"><a title="paramiko.Transport.get_log_channel" class="py-name" href="#" onclick="return doclink('link-164', 'get_log_channel', 'link-164');">get_log_channel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"> </tt>
-<a name="Channel._set_window"></a><div id="Channel._set_window-def"><a name="L907"></a><tt class="py-lineno"> 907</tt> <a class="py-toggle" href="#" id="Channel._set_window-toggle" onclick="return toggle('Channel._set_window');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_set_window">_set_window</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">window_size</tt><tt class="py-op">,</tt> <tt class="py-param">max_packet_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._set_window-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._set_window-expanded"><a name="L908"></a><tt class="py-lineno"> 908</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_size</tt> <tt class="py-op">=</tt> <tt class="py-name">window_size</tt> </tt>
-<a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-name">max_packet_size</tt> </tt>
-<a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"> <tt class="py-comment"># threshold of bytes we receive before we bother to send a window update</tt> </tt>
-<a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_threshold</tt> <tt class="py-op">=</tt> <tt class="py-name">window_size</tt> <tt class="py-op">//</tt> <tt class="py-number">10</tt> </tt>
-<a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-165" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-165', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Max packet in: %d bytes'</tt> <tt class="py-op">%</tt> <tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"> </tt>
-<a name="Channel._set_remote_channel"></a><div id="Channel._set_remote_channel-def"><a name="L915"></a><tt class="py-lineno"> 915</tt> <a class="py-toggle" href="#" id="Channel._set_remote_channel-toggle" onclick="return toggle('Channel._set_remote_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_set_remote_channel">_set_remote_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">,</tt> <tt class="py-param">window_size</tt><tt class="py-op">,</tt> <tt class="py-param">max_packet_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._set_remote_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._set_remote_channel-expanded"><a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">chanid</tt> </tt>
-<a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">=</tt> <tt class="py-name">window_size</tt> </tt>
-<a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">max_packet_size</tt><tt class="py-op">,</tt> <tt id="link-166" class="py-name"><a title="paramiko.channel.MIN_PACKET_SIZE" class="py-name" href="#" onclick="return doclink('link-166', 'MIN_PACKET_SIZE', 'link-19');">MIN_PACKET_SIZE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L920"></a><tt class="py-lineno"> 920</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-167" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-167', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Max packet out: %d bytes'</tt> <tt class="py-op">%</tt> <tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"> </tt>
-<a name="Channel._request_success"></a><div id="Channel._request_success-def"><a name="L922"></a><tt class="py-lineno"> 922</tt> <a class="py-toggle" href="#" id="Channel._request_success-toggle" onclick="return toggle('Channel._request_success');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_request_success">_request_success</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._request_success-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._request_success-expanded"><a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-168" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-168', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Sesch channel %d request ok'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event_ready</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L925"></a><tt class="py-lineno"> 925</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name" targets="Method paramiko.pipe.OrPipe.set()=paramiko.pipe.OrPipe-class.html#set,Method paramiko.pipe.PosixPipe.set()=paramiko.pipe.PosixPipe-class.html#set,Method paramiko.pipe.WindowsPipe.set()=paramiko.pipe.WindowsPipe-class.html#set"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-169', 'set', 'link-169');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"> </tt>
-<a name="Channel._request_failed"></a><div id="Channel._request_failed-def"><a name="L928"></a><tt class="py-lineno"> 928</tt> <a class="py-toggle" href="#" id="Channel._request_failed-toggle" onclick="return toggle('Channel._request_failed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_request_failed">_request_failed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._request_failed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._request_failed-expanded"><a name="L929"></a><tt class="py-lineno"> 929</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"> <tt class="py-name">msgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_close_internal</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L934"></a><tt class="py-lineno"> 934</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msgs</tt><tt class="py-op">:</tt> </tt>
-<a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">m</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-170', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"> </tt>
-<a name="Channel._feed"></a><div id="Channel._feed-def"><a name="L938"></a><tt class="py-lineno"> 938</tt> <a class="py-toggle" href="#" id="Channel._feed-toggle" onclick="return toggle('Channel._feed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_feed">_feed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._feed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._feed-expanded"><a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"> <tt class="py-comment"># passed from _feed_extended</tt> </tt>
-<a name="L941"></a><tt class="py-lineno"> 941</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt> </tt>
-<a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-171', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name" targets="Method paramiko.buffered_pipe.BufferedPipe.feed()=paramiko.buffered_pipe.BufferedPipe-class.html#feed"><a title="paramiko.buffered_pipe.BufferedPipe.feed" class="py-name" href="#" onclick="return doclink('link-172', 'feed', 'link-172');">feed</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"> </tt>
-<a name="Channel._feed_extended"></a><div id="Channel._feed_extended-def"><a name="L946"></a><tt class="py-lineno"> 946</tt> <a class="py-toggle" href="#" id="Channel._feed_extended-toggle" onclick="return toggle('Channel._feed_extended');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_feed_extended">_feed_extended</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._feed_extended-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._feed_extended-expanded"><a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-173', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L948"></a><tt class="py-lineno"> 948</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-174', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-175" class="py-name" targets="Variable paramiko.auth_handler.ERROR=paramiko.auth_handler-module.html#ERROR,Variable paramiko.channel.ERROR=paramiko.channel-module.html#ERROR,Variable paramiko.client.ERROR=paramiko.client-module.html#ERROR,Variable paramiko.common.ERROR=paramiko.common-module.html#ERROR,Variable paramiko.dsskey.ERROR=paramiko.dsskey-module.html#ERROR,Variable paramiko.hostkeys.ERROR=paramiko.hostkeys-module.html#ERROR,Variable paramiko.kex_gex.ERROR=paramiko.kex_gex-module.html#ERROR,Variable paramiko.kex_group1.ERROR=paramiko.kex_group1-module.html#ERROR,Variable paramiko.logging22.ERROR=paramiko.logging22-module.html#ERROR,Variable paramiko.packet.ERROR=paramiko.packet-module.html#ERROR,Variable paramiko.pkey.ERROR=paramiko.pkey-module.html#ERROR,Variable paramiko.rsakey.ERROR=paramiko.rsakey-module.html#ERROR,Variable paramiko.server.ERROR=paramiko.server-module.html#ERROR,Variable paramiko.sftp.ERROR=paramiko.sftp-module.html#ERROR,Variable paramiko.sftp_attr.ERROR=paramiko.sftp_attr-module.html#ERROR,Variable paramiko.sftp_client.ERROR=paramiko.sftp_client-module.html#ERROR,Variable paramiko.sftp_file.ERROR=paramiko.sftp_file-module.html#ERROR,Variable paramiko.sftp_handle.ERROR=paramiko.sftp_handle-module.html#ERROR,Variable paramiko.sftp_server.ERROR=paramiko.sftp_server-module.html#ERROR,Variable paramiko.sftp_si.ERROR=paramiko.sftp_si-module.html#ERROR,Variable paramiko.transport.ERROR=paramiko.transport-module.html#ERROR,Variable paramiko.util.ERROR=paramiko.util-module.html#ERROR"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-175', 'ERROR', 'link-175');">ERROR</a></tt><tt class="py-op">,</tt> <tt class="py-string">'unknown extended_data type %d; discarding'</tt> <tt class="py-op">%</tt> <tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L952"></a><tt class="py-lineno"> 952</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">combine_stderr</tt><tt class="py-op">:</tt> </tt>
-<a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_feed</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="paramiko.buffered_pipe.BufferedPipe.feed" class="py-name" href="#" onclick="return doclink('link-176', 'feed', 'link-172');">feed</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> </tt>
-<a name="Channel._window_adjust"></a><div id="Channel._window_adjust-def"><a name="L957"></a><tt class="py-lineno"> 957</tt> <a class="py-toggle" href="#" id="Channel._window_adjust-toggle" onclick="return toggle('Channel._window_adjust');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_window_adjust">_window_adjust</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._window_adjust-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._window_adjust-expanded"><a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"> <tt class="py-name">nbytes</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-177', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L960"></a><tt class="py-lineno"> 960</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt><tt class="py-op">:</tt> </tt>
-<a name="L962"></a><tt class="py-lineno"> 962</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-178" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-178', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'window up %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">nbytes</tt><tt class="py-op">)</tt> </tt>
-<a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">+=</tt> <tt class="py-name">nbytes</tt> </tt>
-<a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_buffer_cv</tt><tt class="py-op">.</tt><tt class="py-name">notifyAll</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L965"></a><tt class="py-lineno"> 965</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"> </tt>
-<a name="Channel._handle_request"></a><div id="Channel._handle_request-def"><a name="L968"></a><tt class="py-lineno"> 968</tt> <a class="py-toggle" href="#" id="Channel._handle_request-toggle" onclick="return toggle('Channel._handle_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_handle_request">_handle_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._handle_request-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._handle_request-expanded"><a name="L969"></a><tt class="py-lineno"> 969</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-179', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"> <tt class="py-name">want_reply</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name" targets="Method paramiko.Message.get_boolean()=paramiko.Message-class.html#get_boolean"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-180', 'get_boolean', 'link-180');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"> <tt id="link-181" class="py-name" targets="Module paramiko.server=paramiko.server-module.html"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-181', 'server', 'link-181');">server</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-182', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt> </tt>
-<a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'exit-status'</tt><tt class="py-op">:</tt> </tt>
-<a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">exit_status</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-183', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L975"></a><tt class="py-lineno"> 975</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">status_event</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-184', 'set', 'link-169');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'xon-xoff'</tt><tt class="py-op">:</tt> </tt>
-<a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"> <tt class="py-comment"># ignore</tt> </tt>
-<a name="L979"></a><tt class="py-lineno"> 979</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'pty-req'</tt><tt class="py-op">:</tt> </tt>
-<a name="L981"></a><tt class="py-lineno"> 981</tt> <tt class="py-line"> <tt class="py-name">term</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-185', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"> <tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-186', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"> <tt class="py-name">height</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-187', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"> <tt class="py-name">pixelwidth</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-188', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"> <tt class="py-name">pixelheight</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-189', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"> <tt class="py-name">modes</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-190', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-191" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-191', 'server', 'link-181');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L989"></a><tt class="py-lineno"> 989</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L990"></a><tt class="py-lineno"> 990</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt id="link-192" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-192', 'server', 'link-181');">server</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name" targets="Method paramiko.ServerInterface.check_channel_pty_request()=paramiko.ServerInterface-class.html#check_channel_pty_request"><a title="paramiko.ServerInterface.check_channel_pty_request" class="py-name" href="#" onclick="return doclink('link-193', 'check_channel_pty_request', 'link-193');">check_channel_pty_request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">term</tt><tt class="py-op">,</tt> <tt class="py-name">width</tt><tt class="py-op">,</tt> <tt class="py-name">height</tt><tt class="py-op">,</tt> <tt class="py-name">pixelwidth</tt><tt class="py-op">,</tt> </tt>
-<a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"> <tt class="py-name">pixelheight</tt><tt class="py-op">,</tt> <tt class="py-name">modes</tt><tt class="py-op">)</tt> </tt>
-<a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'shell'</tt><tt class="py-op">:</tt> </tt>
-<a name="L993"></a><tt class="py-lineno"> 993</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-194" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-194', 'server', 'link-181');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L996"></a><tt class="py-lineno"> 996</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt id="link-195" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-195', 'server', 'link-181');">server</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name" targets="Method paramiko.ServerInterface.check_channel_shell_request()=paramiko.ServerInterface-class.html#check_channel_shell_request"><a title="paramiko.ServerInterface.check_channel_shell_request" class="py-name" href="#" onclick="return doclink('link-196', 'check_channel_shell_request', 'link-196');">check_channel_shell_request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'exec'</tt><tt class="py-op">:</tt> </tt>
-<a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"> <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-197', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-198" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-198', 'server', 'link-181');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1000"></a><tt class="py-lineno">1000</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt id="link-199" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-199', 'server', 'link-181');">server</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name" targets="Method paramiko.ServerInterface.check_channel_exec_request()=paramiko.ServerInterface-class.html#check_channel_exec_request"><a title="paramiko.ServerInterface.check_channel_exec_request" class="py-name" href="#" onclick="return doclink('link-200', 'check_channel_exec_request', 'link-200');">check_channel_exec_request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L1003"></a><tt class="py-lineno">1003</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'subsystem'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1004"></a><tt class="py-lineno">1004</tt> <tt class="py-line"> <tt id="link-201" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-201', 'name', 'link-105');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-202', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-203" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-203', 'server', 'link-181');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1006"></a><tt class="py-lineno">1006</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1007"></a><tt class="py-lineno">1007</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1008"></a><tt class="py-lineno">1008</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt id="link-204" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-204', 'server', 'link-181');">server</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name" targets="Method paramiko.ServerInterface.check_channel_subsystem_request()=paramiko.ServerInterface-class.html#check_channel_subsystem_request"><a title="paramiko.ServerInterface.check_channel_subsystem_request" class="py-name" href="#" onclick="return doclink('link-205', 'check_channel_subsystem_request', 'link-205');">check_channel_subsystem_request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-206" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-206', 'name', 'link-105');">name</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1009"></a><tt class="py-lineno">1009</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'window-change'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1010"></a><tt class="py-lineno">1010</tt> <tt class="py-line"> <tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-207', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1011"></a><tt class="py-lineno">1011</tt> <tt class="py-line"> <tt class="py-name">height</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-208', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1012"></a><tt class="py-lineno">1012</tt> <tt class="py-line"> <tt class="py-name">pixelwidth</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-209', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1013"></a><tt class="py-lineno">1013</tt> <tt class="py-line"> <tt class="py-name">pixelheight</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-210', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1014"></a><tt class="py-lineno">1014</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-211" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-211', 'server', 'link-181');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1015"></a><tt class="py-lineno">1015</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1016"></a><tt class="py-lineno">1016</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1017"></a><tt class="py-lineno">1017</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt id="link-212" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-212', 'server', 'link-181');">server</a></tt><tt class="py-op">.</tt><tt id="link-213" class="py-name" targets="Method paramiko.ServerInterface.check_channel_window_change_request()=paramiko.ServerInterface-class.html#check_channel_window_change_request"><a title="paramiko.ServerInterface.check_channel_window_change_request" class="py-name" href="#" onclick="return doclink('link-213', 'check_channel_window_change_request', 'link-213');">check_channel_window_change_request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">width</tt><tt class="py-op">,</tt> <tt class="py-name">height</tt><tt class="py-op">,</tt> <tt class="py-name">pixelwidth</tt><tt class="py-op">,</tt> </tt>
-<a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"> <tt class="py-name">pixelheight</tt><tt class="py-op">)</tt> </tt>
-<a name="L1019"></a><tt class="py-lineno">1019</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'x11-req'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"> <tt class="py-name">single_connection</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-214', 'get_boolean', 'link-180');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"> <tt class="py-name">auth_proto</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-215', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"> <tt class="py-name">auth_cookie</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-216', 'get_string', 'link-171');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"> <tt class="py-name">screen_number</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-217', 'get_int', 'link-173');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-218" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-218', 'server', 'link-181');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-219', 'server', 'link-181');">server</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name" targets="Method paramiko.ServerInterface.check_channel_x11_request()=paramiko.ServerInterface-class.html#check_channel_x11_request"><a title="paramiko.ServerInterface.check_channel_x11_request" class="py-name" href="#" onclick="return doclink('link-220', 'check_channel_x11_request', 'link-220');">check_channel_x11_request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">single_connection</tt><tt class="py-op">,</tt> </tt>
-<a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"> <tt class="py-name">auth_proto</tt><tt class="py-op">,</tt> <tt class="py-name">auth_cookie</tt><tt class="py-op">,</tt> <tt class="py-name">screen_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-221" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-221', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Unhandled channel request "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">want_reply</tt><tt class="py-op">:</tt> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-222" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-222', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ok</tt><tt class="py-op">:</tt> </tt>
-<a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-223', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-224" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_SUCCESS=paramiko.auth_handler-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.channel.MSG_CHANNEL_SUCCESS=paramiko.channel-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.client.MSG_CHANNEL_SUCCESS=paramiko.client-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.common.MSG_CHANNEL_SUCCESS=paramiko.common-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.dsskey.MSG_CHANNEL_SUCCESS=paramiko.dsskey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.hostkeys.MSG_CHANNEL_SUCCESS=paramiko.hostkeys-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.kex_gex.MSG_CHANNEL_SUCCESS=paramiko.kex_gex-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.kex_group1.MSG_CHANNEL_SUCCESS=paramiko.kex_group1-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.packet.MSG_CHANNEL_SUCCESS=paramiko.packet-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.pkey.MSG_CHANNEL_SUCCESS=paramiko.pkey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.rsakey.MSG_CHANNEL_SUCCESS=paramiko.rsakey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.server.MSG_CHANNEL_SUCCESS=paramiko.server-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp.MSG_CHANNEL_SUCCESS=paramiko.sftp-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_attr.MSG_CHANNEL_SUCCESS=paramiko.sftp_attr-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_client.MSG_CHANNEL_SUCCESS=paramiko.sftp_client-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_file.MSG_CHANNEL_SUCCESS=paramiko.sftp_file-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_handle.MSG_CHANNEL_SUCCESS=paramiko.sftp_handle-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_server.MSG_CHANNEL_SUCCESS=paramiko.sftp_server-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_si.MSG_CHANNEL_SUCCESS=paramiko.sftp_si-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.transport.MSG_CHANNEL_SUCCESS=paramiko.transport-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.util.MSG_CHANNEL_SUCCESS=paramiko.util-module.html#MSG_CHANNEL_SUCCESS"><a title="paramiko.auth_handler.MSG_CHANNEL_SUCCESS
-paramiko.channel.MSG_CHANNEL_SUCCESS
-paramiko.client.MSG_CHANNEL_SUCCESS
-paramiko.common.MSG_CHANNEL_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_SUCCESS
-paramiko.packet.MSG_CHANNEL_SUCCESS
-paramiko.pkey.MSG_CHANNEL_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_SUCCESS
-paramiko.server.MSG_CHANNEL_SUCCESS
-paramiko.sftp.MSG_CHANNEL_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_SUCCESS
-paramiko.transport.MSG_CHANNEL_SUCCESS
-paramiko.util.MSG_CHANNEL_SUCCESS" class="py-name" href="#" onclick="return doclink('link-224', 'MSG_CHANNEL_SUCCESS', 'link-224');">MSG_CHANNEL_SUCCESS</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-225', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-226" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_FAILURE=paramiko.auth_handler-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.channel.MSG_CHANNEL_FAILURE=paramiko.channel-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.client.MSG_CHANNEL_FAILURE=paramiko.client-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.common.MSG_CHANNEL_FAILURE=paramiko.common-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.dsskey.MSG_CHANNEL_FAILURE=paramiko.dsskey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.hostkeys.MSG_CHANNEL_FAILURE=paramiko.hostkeys-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.kex_gex.MSG_CHANNEL_FAILURE=paramiko.kex_gex-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.kex_group1.MSG_CHANNEL_FAILURE=paramiko.kex_group1-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.packet.MSG_CHANNEL_FAILURE=paramiko.packet-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.pkey.MSG_CHANNEL_FAILURE=paramiko.pkey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.rsakey.MSG_CHANNEL_FAILURE=paramiko.rsakey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.server.MSG_CHANNEL_FAILURE=paramiko.server-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp.MSG_CHANNEL_FAILURE=paramiko.sftp-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_attr.MSG_CHANNEL_FAILURE=paramiko.sftp_attr-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_client.MSG_CHANNEL_FAILURE=paramiko.sftp_client-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_file.MSG_CHANNEL_FAILURE=paramiko.sftp_file-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_handle.MSG_CHANNEL_FAILURE=paramiko.sftp_handle-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_server.MSG_CHANNEL_FAILURE=paramiko.sftp_server-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_si.MSG_CHANNEL_FAILURE=paramiko.sftp_si-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.transport.MSG_CHANNEL_FAILURE=paramiko.transport-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.util.MSG_CHANNEL_FAILURE=paramiko.util-module.html#MSG_CHANNEL_FAILURE"><a title="paramiko.auth_handler.MSG_CHANNEL_FAILURE
-paramiko.channel.MSG_CHANNEL_FAILURE
-paramiko.client.MSG_CHANNEL_FAILURE
-paramiko.common.MSG_CHANNEL_FAILURE
-paramiko.dsskey.MSG_CHANNEL_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_FAILURE
-paramiko.packet.MSG_CHANNEL_FAILURE
-paramiko.pkey.MSG_CHANNEL_FAILURE
-paramiko.rsakey.MSG_CHANNEL_FAILURE
-paramiko.server.MSG_CHANNEL_FAILURE
-paramiko.sftp.MSG_CHANNEL_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_FAILURE
-paramiko.transport.MSG_CHANNEL_FAILURE
-paramiko.util.MSG_CHANNEL_FAILURE" class="py-name" href="#" onclick="return doclink('link-226', 'MSG_CHANNEL_FAILURE', 'link-226');">MSG_CHANNEL_FAILURE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-227', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-228', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"> </tt>
-<a name="Channel._handle_eof"></a><div id="Channel._handle_eof-def"><a name="L1041"></a><tt class="py-lineno">1041</tt> <a class="py-toggle" href="#" id="Channel._handle_eof-toggle" onclick="return toggle('Channel._handle_eof');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_handle_eof">_handle_eof</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._handle_eof-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._handle_eof-expanded"><a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt><tt class="py-op">:</tt> </tt>
-<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-229', 'close', 'link-26');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-230', 'close', 'link-26');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name" targets="Method paramiko.pipe.PosixPipe.set_forever()=paramiko.pipe.PosixPipe-class.html#set_forever,Method paramiko.pipe.WindowsPipe.set_forever()=paramiko.pipe.WindowsPipe-class.html#set_forever"><a title="paramiko.pipe.PosixPipe.set_forever
-paramiko.pipe.WindowsPipe.set_forever" class="py-name" href="#" onclick="return doclink('link-231', 'set_forever', 'link-231');">set_forever</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-232" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-232', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'EOF received (%s)'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"> </tt>
-<a name="Channel._handle_close"></a><div id="Channel._handle_close-def"><a name="L1054"></a><tt class="py-lineno">1054</tt> <a class="py-toggle" href="#" id="Channel._handle_close-toggle" onclick="return toggle('Channel._handle_close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_handle_close">_handle_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._handle_close-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._handle_close-expanded"><a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"> <tt class="py-name">msgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_close_internal</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-233', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_unlink_channel</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msgs</tt><tt class="py-op">:</tt> </tt>
-<a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">m</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-234', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"> </tt>
-<a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"> </tt>
-<a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"> </tt>
-<a name="Channel._log"></a><div id="Channel._log-def"><a name="L1069"></a><tt class="py-lineno">1069</tt> <a class="py-toggle" href="#" id="Channel._log-toggle" onclick="return toggle('Channel._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._log-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._log-expanded"><a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-235', 'logger', 'link-23');">logger</a></tt><tt class="py-op">.</tt><tt id="link-236" class="py-name" targets="Method paramiko.logging22.logger.log()=paramiko.logging22.logger-class.html#log"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-236', 'log', 'link-236');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-string">"[chan "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt> <tt class="py-op">+</tt> <tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"> </tt>
-<a name="Channel._event_pending"></a><div id="Channel._event_pending-def"><a name="L1072"></a><tt class="py-lineno">1072</tt> <a class="py-toggle" href="#" id="Channel._event_pending-toggle" onclick="return toggle('Channel._event_pending');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_event_pending">_event_pending</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._event_pending-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._event_pending-expanded"><a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name" targets="Method paramiko.HostKeys.clear()=paramiko.HostKeys-class.html#clear,Method paramiko.pipe.OrPipe.clear()=paramiko.pipe.OrPipe-class.html#clear,Method paramiko.pipe.PosixPipe.clear()=paramiko.pipe.PosixPipe-class.html#clear,Method paramiko.pipe.WindowsPipe.clear()=paramiko.pipe.WindowsPipe-class.html#clear"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-237', 'clear', 'link-237');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event_ready</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"> </tt>
-<a name="Channel._wait_for_event"></a><div id="Channel._wait_for_event-def"><a name="L1076"></a><tt class="py-lineno">1076</tt> <a class="py-toggle" href="#" id="Channel._wait_for_event-toggle" onclick="return toggle('Channel._wait_for_event');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_wait_for_event">_wait_for_event</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._wait_for_event-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._wait_for_event-expanded"><a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event_ready</tt><tt class="py-op">:</tt> </tt>
-<a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-238', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt id="link-239" class="py-name" targets="Method paramiko.Transport.get_exception()=paramiko.Transport-class.html#get_exception"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-239', 'get_exception', 'link-239');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-240', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Channel closed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-</div><a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"> </tt>
-<a name="Channel._set_closed"></a><div id="Channel._set_closed-def"><a name="L1086"></a><tt class="py-lineno">1086</tt> <a class="py-toggle" href="#" id="Channel._set_closed-toggle" onclick="return toggle('Channel._set_closed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_set_closed">_set_closed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._set_closed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._set_closed-expanded"><a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"> <tt class="py-comment"># you are holding the lock.</tt> </tt>
-<a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_buffer</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-241', 'close', 'link-26');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_stderr_buffer</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-242', 'close', 'link-26');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_buffer_cv</tt><tt class="py-op">.</tt><tt class="py-name">notifyAll</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"> <tt class="py-comment"># Notify any waiters that we are closed</tt> </tt>
-<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">event</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-243', 'set', 'link-169');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">status_event</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-244', 'set', 'link-169');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="paramiko.pipe.PosixPipe.set_forever
-paramiko.pipe.WindowsPipe.set_forever" class="py-name" href="#" onclick="return doclink('link-245', 'set_forever', 'link-231');">set_forever</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"> </tt>
-<a name="Channel._send_eof"></a><div id="Channel._send_eof-def"><a name="L1098"></a><tt class="py-lineno">1098</tt> <a class="py-toggle" href="#" id="Channel._send_eof-toggle" onclick="return toggle('Channel._send_eof');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_send_eof">_send_eof</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._send_eof-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._send_eof-expanded"><a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"> <tt class="py-comment"># you are holding the lock.</tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt><tt class="py-op">:</tt> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-246" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-246', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-247', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-248" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_EOF=paramiko.auth_handler-module.html#MSG_CHANNEL_EOF,Variable paramiko.channel.MSG_CHANNEL_EOF=paramiko.channel-module.html#MSG_CHANNEL_EOF,Variable paramiko.client.MSG_CHANNEL_EOF=paramiko.client-module.html#MSG_CHANNEL_EOF,Variable paramiko.common.MSG_CHANNEL_EOF=paramiko.common-module.html#MSG_CHANNEL_EOF,Variable paramiko.dsskey.MSG_CHANNEL_EOF=paramiko.dsskey-module.html#MSG_CHANNEL_EOF,Variable paramiko.hostkeys.MSG_CHANNEL_EOF=paramiko.hostkeys-module.html#MSG_CHANNEL_EOF,Variable paramiko.kex_gex.MSG_CHANNEL_EOF=paramiko.kex_gex-module.html#MSG_CHANNEL_EOF,Variable paramiko.kex_group1.MSG_CHANNEL_EOF=paramiko.kex_group1-module.html#MSG_CHANNEL_EOF,Variable paramiko.packet.MSG_CHANNEL_EOF=paramiko.packet-module.html#MSG_CHANNEL_EOF,Variable paramiko.pkey.MSG_CHANNEL_EOF=paramiko.pkey-module.html#MSG_CHANNEL_EOF,Variable paramiko.rsakey.MSG_CHANNEL_EOF=paramiko.rsakey-module.html#MSG_CHANNEL_EOF,Variable paramiko.server.MSG_CHANNEL_EOF=paramiko.server-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp.MSG_CHANNEL_EOF=paramiko.sftp-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_attr.MSG_CHANNEL_EOF=paramiko.sftp_attr-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_client.MSG_CHANNEL_EOF=paramiko.sftp_client-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_file.MSG_CHANNEL_EOF=paramiko.sftp_file-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_handle.MSG_CHANNEL_EOF=paramiko.sftp_handle-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_server.MSG_CHANNEL_EOF=paramiko.sftp_server-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_si.MSG_CHANNEL_EOF=paramiko.sftp_si-module.html#MSG_CHANNEL_EOF,Variable paramiko.transport.MSG_CHANNEL_EOF=paramiko.transport-module.html#MSG_CHANNEL_EOF,Variable paramiko.util.MSG_CHANNEL_EOF=paramiko.util-module.html#MSG_CHANNEL_EOF"><a title="paramiko.auth_handler.MSG_CHANNEL_EOF
-paramiko.channel.MSG_CHANNEL_EOF
-paramiko.client.MSG_CHANNEL_EOF
-paramiko.common.MSG_CHANNEL_EOF
-paramiko.dsskey.MSG_CHANNEL_EOF
-paramiko.hostkeys.MSG_CHANNEL_EOF
-paramiko.kex_gex.MSG_CHANNEL_EOF
-paramiko.kex_group1.MSG_CHANNEL_EOF
-paramiko.packet.MSG_CHANNEL_EOF
-paramiko.pkey.MSG_CHANNEL_EOF
-paramiko.rsakey.MSG_CHANNEL_EOF
-paramiko.server.MSG_CHANNEL_EOF
-paramiko.sftp.MSG_CHANNEL_EOF
-paramiko.sftp_attr.MSG_CHANNEL_EOF
-paramiko.sftp_client.MSG_CHANNEL_EOF
-paramiko.sftp_file.MSG_CHANNEL_EOF
-paramiko.sftp_handle.MSG_CHANNEL_EOF
-paramiko.sftp_server.MSG_CHANNEL_EOF
-paramiko.sftp_si.MSG_CHANNEL_EOF
-paramiko.transport.MSG_CHANNEL_EOF
-paramiko.util.MSG_CHANNEL_EOF" class="py-name" href="#" onclick="return doclink('link-248', 'MSG_CHANNEL_EOF', 'link-248');">MSG_CHANNEL_EOF</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-249', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-250" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-250', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'EOF sent (%s)'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">m</tt> </tt>
-</div><a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"> </tt>
-<a name="Channel._close_internal"></a><div id="Channel._close_internal-def"><a name="L1109"></a><tt class="py-lineno">1109</tt> <a class="py-toggle" href="#" id="Channel._close_internal-toggle" onclick="return toggle('Channel._close_internal');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_close_internal">_close_internal</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._close_internal-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._close_internal-expanded"><a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"> <tt class="py-comment"># you are holding the lock.</tt> </tt>
-<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"> <tt class="py-name">m1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_eof</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"> <tt class="py-name">m2</tt> <tt class="py-op">=</tt> <tt id="link-251" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-251', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"> <tt class="py-name">m2</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-252', 'add_byte', 'link-30');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-253" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_CLOSE=paramiko.auth_handler-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.channel.MSG_CHANNEL_CLOSE=paramiko.channel-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.client.MSG_CHANNEL_CLOSE=paramiko.client-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.common.MSG_CHANNEL_CLOSE=paramiko.common-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.dsskey.MSG_CHANNEL_CLOSE=paramiko.dsskey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.hostkeys.MSG_CHANNEL_CLOSE=paramiko.hostkeys-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.kex_gex.MSG_CHANNEL_CLOSE=paramiko.kex_gex-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.kex_group1.MSG_CHANNEL_CLOSE=paramiko.kex_group1-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.packet.MSG_CHANNEL_CLOSE=paramiko.packet-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.pkey.MSG_CHANNEL_CLOSE=paramiko.pkey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.rsakey.MSG_CHANNEL_CLOSE=paramiko.rsakey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.server.MSG_CHANNEL_CLOSE=paramiko.server-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp.MSG_CHANNEL_CLOSE=paramiko.sftp-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_attr.MSG_CHANNEL_CLOSE=paramiko.sftp_attr-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_client.MSG_CHANNEL_CLOSE=paramiko.sftp_client-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_file.MSG_CHANNEL_CLOSE=paramiko.sftp_file-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_handle.MSG_CHANNEL_CLOSE=paramiko.sftp_handle-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_server.MSG_CHANNEL_CLOSE=paramiko.sftp_server-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_si.MSG_CHANNEL_CLOSE=paramiko.sftp_si-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.transport.MSG_CHANNEL_CLOSE=paramiko.transport-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.util.MSG_CHANNEL_CLOSE=paramiko.util-module.html#MSG_CHANNEL_CLOSE"><a title="paramiko.auth_handler.MSG_CHANNEL_CLOSE
-paramiko.channel.MSG_CHANNEL_CLOSE
-paramiko.client.MSG_CHANNEL_CLOSE
-paramiko.common.MSG_CHANNEL_CLOSE
-paramiko.dsskey.MSG_CHANNEL_CLOSE
-paramiko.hostkeys.MSG_CHANNEL_CLOSE
-paramiko.kex_gex.MSG_CHANNEL_CLOSE
-paramiko.kex_group1.MSG_CHANNEL_CLOSE
-paramiko.packet.MSG_CHANNEL_CLOSE
-paramiko.pkey.MSG_CHANNEL_CLOSE
-paramiko.rsakey.MSG_CHANNEL_CLOSE
-paramiko.server.MSG_CHANNEL_CLOSE
-paramiko.sftp.MSG_CHANNEL_CLOSE
-paramiko.sftp_attr.MSG_CHANNEL_CLOSE
-paramiko.sftp_client.MSG_CHANNEL_CLOSE
-paramiko.sftp_file.MSG_CHANNEL_CLOSE
-paramiko.sftp_handle.MSG_CHANNEL_CLOSE
-paramiko.sftp_server.MSG_CHANNEL_CLOSE
-paramiko.sftp_si.MSG_CHANNEL_CLOSE
-paramiko.transport.MSG_CHANNEL_CLOSE
-paramiko.util.MSG_CHANNEL_CLOSE" class="py-name" href="#" onclick="return doclink('link-253', 'MSG_CHANNEL_CLOSE', 'link-253');">MSG_CHANNEL_CLOSE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"> <tt class="py-name">m2</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-254', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set_closed</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"> <tt class="py-comment"># can't unlink from the Transport yet -- the remote side may still</tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"> <tt class="py-comment"># try to send meta-data (exit-status, etc)</tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">m1</tt><tt class="py-op">,</tt> <tt class="py-name">m2</tt> </tt>
-</div><a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"> </tt>
-<a name="Channel._unlink"></a><div id="Channel._unlink-def"><a name="L1122"></a><tt class="py-lineno">1122</tt> <a class="py-toggle" href="#" id="Channel._unlink-toggle" onclick="return toggle('Channel._unlink');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_unlink">_unlink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._unlink-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._unlink-expanded"><a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"> <tt class="py-comment"># server connection could die before we become active: still signal the close!</tt> </tt>
-<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set_closed</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-255', 'transport', 'link-20');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_unlink_channel</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"> </tt>
-<a name="Channel._check_add_window"></a><div id="Channel._check_add_window-def"><a name="L1133"></a><tt class="py-lineno">1133</tt> <a class="py-toggle" href="#" id="Channel._check_add_window-toggle" onclick="return toggle('Channel._check_add_window');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_check_add_window">_check_add_window</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._check_add_window-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._check_add_window-expanded"><a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_received</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt><tt class="py-op">:</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-256" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-256', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'addwindow %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt> <tt class="py-op">+=</tt> <tt class="py-name">n</tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_threshold</tt><tt class="py-op">:</tt> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt><tt class="py-op">:</tt> </tt>
-<a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-257" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-257', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'addwindow send %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt><tt class="py-op">)</tt> </tt>
-<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_window_sofar</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"> </tt>
-<a name="Channel._wait_for_send_window"></a><div id="Channel._wait_for_send_window-def"><a name="L1151"></a><tt class="py-lineno">1151</tt> <a class="py-toggle" href="#" id="Channel._wait_for_send_window-toggle" onclick="return toggle('Channel._wait_for_send_window');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.Channel-class.html#_wait_for_send_window">_wait_for_send_window</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Channel._wait_for_send_window-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Channel._wait_for_send_window-expanded"><a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"><tt class="py-docstring"> (You are already holding the lock.)</tt> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"><tt class="py-docstring"> Wait for the send window to open up, and allocate up to C{size} bytes</tt> </tt>
-<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"><tt class="py-docstring"> for transmission. If no space opens up before the timeout, a timeout</tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"><tt class="py-docstring"> exception is raised. Returns the number of bytes available to send</tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"><tt class="py-docstring"> (may be less than requested).</tt> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> <tt class="py-comment"># you are already holding the lock</tt> </tt>
-<a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt><tt class="py-op">:</tt> </tt>
-<a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"> <tt class="py-comment"># should we block?</tt> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">==</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"> <tt class="py-comment"># loop here in case we get woken up but a different thread has filled the buffer</tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> </tt>
-<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt><tt class="py-op">:</tt> </tt>
-<a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"> <tt class="py-name">then</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_buffer_cv</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"> <tt class="py-name">timeout</tt> <tt class="py-op">-=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">then</tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"> <tt class="py-comment"># we have some window to squeeze into</tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">eof_sent</tt><tt class="py-op">:</tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_max_packet_size</tt> <tt class="py-op">-</tt> <tt class="py-number">64</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_max_packet_size</tt> <tt class="py-op">-</tt> <tt class="py-number">64</tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt> <tt class="py-op">-=</tt> <tt class="py-name">size</tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt><tt class="py-op">:</tt> </tt>
-<a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-258" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-258', 'DEBUG', 'link-165');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'window down to %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">out_window_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">size</tt> </tt>
-</div></div><a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"> </tt>
-<a name="ChannelFile"></a><div id="ChannelFile-def"><a name="L1190"></a><tt class="py-lineno">1190</tt> <a class="py-toggle" href="#" id="ChannelFile-toggle" onclick="return toggle('ChannelFile');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.channel.ChannelFile-class.html">ChannelFile</a> <tt class="py-op">(</tt><tt class="py-base-class">BufferedFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelFile-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ChannelFile-expanded"><a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-docstring"> A file-like wrapper around L{Channel}. A ChannelFile is created by calling</tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel.makefile}.</tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"><tt class="py-docstring"> @bug: To correctly emulate the file object created from a socket's</tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"><tt class="py-docstring"> C{makefile} method, a L{Channel} and its C{ChannelFile} should be able</tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"><tt class="py-docstring"> to be closed or garbage-collected independently. Currently, closing</tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"><tt class="py-docstring"> the C{ChannelFile} does nothing but flush the buffer.</tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"> </tt>
-<a name="ChannelFile.__init__"></a><div id="ChannelFile.__init__-def"><a name="L1201"></a><tt class="py-lineno">1201</tt> <a class="py-toggle" href="#" id="ChannelFile.__init__-toggle" onclick="return toggle('ChannelFile.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelFile-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt> <tt class="py-op">=</tt> <tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-param">bufsize</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelFile.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelFile.__init__-expanded"><a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name" targets="Module paramiko.channel=paramiko.channel-module.html"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-259', 'channel', 'link-259');">channel</a></tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-260', 'channel', 'link-259');">channel</a></tt> </tt>
-<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"> <tt id="link-261" class="py-name"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-261', 'BufferedFile', 'link-12');">BufferedFile</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-262', '__init__', 'link-262');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set_mode</tt><tt class="py-op">(</tt><tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"> </tt>
-<a name="ChannelFile.__repr__"></a><div id="ChannelFile.__repr__-def"><a name="L1206"></a><tt class="py-lineno">1206</tt> <a class="py-toggle" href="#" id="ChannelFile.__repr__-toggle" onclick="return toggle('ChannelFile.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelFile-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelFile.__repr__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelFile.__repr__-expanded"><a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"><tt class="py-docstring"> Returns a string representation of this object, for debugging.</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;paramiko.ChannelFile from '</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-263', 'channel', 'link-259');">channel</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'&gt;'</tt> </tt>
-</div><a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"> </tt>
-<a name="ChannelFile._read"></a><div id="ChannelFile._read-def"><a name="L1214"></a><tt class="py-lineno">1214</tt> <a class="py-toggle" href="#" id="ChannelFile._read-toggle" onclick="return toggle('ChannelFile._read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelFile-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelFile._read-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelFile._read-expanded"><a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-264', 'channel', 'link-259');">channel</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name" targets="Method paramiko.Channel.recv()=paramiko.Channel-class.html#recv,Method paramiko.win_pageant.PageantConnection.recv()=paramiko.win_pageant.PageantConnection-class.html#recv"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-265', 'recv', 'link-265');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"> </tt>
-<a name="ChannelFile._write"></a><div id="ChannelFile._write-def"><a name="L1217"></a><tt class="py-lineno">1217</tt> <a class="py-toggle" href="#" id="ChannelFile._write-toggle" onclick="return toggle('ChannelFile._write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelFile-class.html#_write">_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelFile._write-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelFile._write-expanded"><a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-266', 'channel', 'link-259');">channel</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name" targets="Method paramiko.Channel.sendall()=paramiko.Channel-class.html#sendall"><a title="paramiko.Channel.sendall" class="py-name" href="#" onclick="return doclink('link-267', 'sendall', 'link-267');">sendall</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"> </tt>
-<a name="ChannelStderrFile"></a><div id="ChannelStderrFile-def"><a name="L1222"></a><tt class="py-lineno">1222</tt> <a class="py-toggle" href="#" id="ChannelStderrFile-toggle" onclick="return toggle('ChannelStderrFile');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.channel.ChannelStderrFile-class.html">ChannelStderrFile</a> <tt class="py-op">(</tt><tt class="py-base-class">ChannelFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelStderrFile-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ChannelStderrFile-expanded"><a name="ChannelStderrFile.__init__"></a><div id="ChannelStderrFile.__init__-def"><a name="L1223"></a><tt class="py-lineno">1223</tt> <a class="py-toggle" href="#" id="ChannelStderrFile.__init__-toggle" onclick="return toggle('ChannelStderrFile.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelStderrFile-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt> <tt class="py-op">=</tt> <tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-param">bufsize</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelStderrFile.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelStderrFile.__init__-expanded"><a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"> <tt class="py-name">ChannelFile</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-268', '__init__', 'link-262');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-269', 'channel', 'link-259');">channel</a></tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> </tt>
-<a name="ChannelStderrFile._read"></a><div id="ChannelStderrFile._read-def"><a name="L1226"></a><tt class="py-lineno">1226</tt> <a class="py-toggle" href="#" id="ChannelStderrFile._read-toggle" onclick="return toggle('ChannelStderrFile._read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelStderrFile-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelStderrFile._read-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelStderrFile._read-expanded"><a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-270', 'channel', 'link-259');">channel</a></tt><tt class="py-op">.</tt><tt id="link-271" class="py-name" targets="Method paramiko.Channel.recv_stderr()=paramiko.Channel-class.html#recv_stderr"><a title="paramiko.Channel.recv_stderr" class="py-name" href="#" onclick="return doclink('link-271', 'recv_stderr', 'link-271');">recv_stderr</a></tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"> </tt>
-<a name="ChannelStderrFile._write"></a><div id="ChannelStderrFile._write-def"><a name="L1229"></a><tt class="py-lineno">1229</tt> <a class="py-toggle" href="#" id="ChannelStderrFile._write-toggle" onclick="return toggle('ChannelStderrFile._write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.channel.ChannelStderrFile-class.html#_write">_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelStderrFile._write-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelStderrFile._write-expanded"><a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-272', 'channel', 'link-259');">channel</a></tt><tt class="py-op">.</tt><tt id="link-273" class="py-name" targets="Method paramiko.Channel.sendall_stderr()=paramiko.Channel-class.html#sendall_stderr"><a title="paramiko.Channel.sendall_stderr" class="py-name" href="#" onclick="return doclink('link-273', 'sendall_stderr', 'link-273');">sendall_stderr</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"><tt class="py-comment"># vim: set shiftwidth=4 expandtab :</tt> </tt>
-<a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.channel.ChannelStderrFile-class.html b/docs/paramiko.channel.ChannelStderrFile-class.html
deleted file mode 100644
index 3136f45..0000000
--- a/docs/paramiko.channel.ChannelStderrFile-class.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.channel.ChannelStderrFile</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.channel-module.html" onclick="show_private();">Module&nbsp;channel</a> ::
- Class&nbsp;ChannelStderrFile
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.channel.ChannelStderrFile-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ChannelStderrFile</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.channel-pysrc.html#ChannelStderrFile">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-<a href="paramiko.BufferedFile-class.html">BufferedFile</a> --+
- |
- ChannelFile --+
- |
- <strong class="uidshort">ChannelStderrFile</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.channel.ChannelStderrFile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">channel</span>,
- <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="summary-sig-arg">bufsize</span>=<span class="summary-sig-default">-1</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.channel-pysrc.html#ChannelStderrFile.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>ChannelFile</code></b>:
- <code>__repr__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.BufferedFile-class.html">BufferedFile</a></code></b>:
- <code><a href="paramiko.BufferedFile-class.html#__del__">__del__</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#__iter__">__iter__</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#close">close</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#flush">flush</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#next">next</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#read">read</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#readline">readline</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#readlines">readlines</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#seek">seek</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#tell">tell</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#write">write</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#writelines">writelines</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#xreadlines">xreadlines</a></code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.BufferedFile-class.html">BufferedFile</a></code></b>:
- <code><a href="paramiko.BufferedFile-class.html#FLAG_APPEND">FLAG_APPEND</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_BINARY">FLAG_BINARY</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_BUFFERED">FLAG_BUFFERED</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED">FLAG_LINE_BUFFERED</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_READ">FLAG_READ</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE">FLAG_UNIVERSAL_NEWLINE</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#FLAG_WRITE">FLAG_WRITE</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#SEEK_CUR">SEEK_CUR</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#SEEK_END">SEEK_END</a></code>,
- <code><a href="paramiko.BufferedFile-class.html#SEEK_SET">SEEK_SET</a></code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">channel</span>,
- <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
- <span class="sig-arg">bufsize</span>=<span class="sig-default">-1</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.channel-pysrc.html#ChannelStderrFile.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.client-module.html b/docs/paramiko.client-module.html
deleted file mode 100644
index 48d7ff9..0000000
--- a/docs/paramiko.client-module.html
+++ /dev/null
@@ -1,539 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.client</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;client
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.client-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module client</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.client-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.SSHClient-class.html"
- class="link">SSHClient</a>.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SSH_PORT"></a><span class="summary-name">SSH_PORT</span> = <code title="22">22</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.client-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.client-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.client-pysrc.html b/docs/paramiko.client-pysrc.html
deleted file mode 100644
index cdca4fe..0000000
--- a/docs/paramiko.client-pysrc.html
+++ /dev/null
@@ -1,801 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.client</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;client
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.client-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.client-module.html" onclick="show_private();">Module paramiko.client</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2006-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{SSHClient}.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">binascii</tt> <tt class="py-keyword">import</tt> <tt class="py-name">hexlify</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">getpass</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.agent=paramiko.agent-module.html"><a title="paramiko.agent" class="py-name" href="#" onclick="return doclink('link-1', 'agent', 'link-1');">agent</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class paramiko.Agent=paramiko.Agent-class.html"><a title="paramiko.Agent" class="py-name" href="#" onclick="return doclink('link-2', 'Agent', 'link-2');">Agent</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-3', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-4', 'common', 'link-4');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-5', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module paramiko.dsskey=paramiko.dsskey-module.html"><a title="paramiko.dsskey" class="py-name" href="#" onclick="return doclink('link-6', 'dsskey', 'link-6');">dsskey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Class paramiko.DSSKey=paramiko.DSSKey-class.html"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-7', 'DSSKey', 'link-7');">DSSKey</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-8', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module paramiko.hostkeys=paramiko.hostkeys-module.html"><a title="paramiko.hostkeys" class="py-name" href="#" onclick="return doclink('link-9', 'hostkeys', 'link-9');">hostkeys</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Class paramiko.HostKeys=paramiko.HostKeys-class.html"><a title="paramiko.HostKeys" class="py-name" href="#" onclick="return doclink('link-10', 'HostKeys', 'link-10');">HostKeys</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-11" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-11', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Module paramiko.resource=paramiko.resource-module.html"><a title="paramiko.resource" class="py-name" href="#" onclick="return doclink('link-12', 'resource', 'link-12');">resource</a></tt> <tt class="py-keyword">import</tt> <tt id="link-13" class="py-name" targets="Variable paramiko.resource.ResourceManager=paramiko.resource-module.html#ResourceManager"><a title="paramiko.resource.ResourceManager" class="py-name" href="#" onclick="return doclink('link-13', 'ResourceManager', 'link-13');">ResourceManager</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-14" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-14', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module paramiko.rsakey=paramiko.rsakey-module.html"><a title="paramiko.rsakey" class="py-name" href="#" onclick="return doclink('link-15', 'rsakey', 'link-15');">rsakey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-16" class="py-name" targets="Class paramiko.RSAKey=paramiko.RSAKey-class.html"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-16', 'RSAKey', 'link-16');">RSAKey</a></tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-17" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-17', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-18', 'ssh_exception', 'link-18');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-19" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-19', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Class paramiko.BadHostKeyException=paramiko.BadHostKeyException-class.html"><a title="paramiko.BadHostKeyException" class="py-name" href="#" onclick="return doclink('link-20', 'BadHostKeyException', 'link-20');">BadHostKeyException</a></tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-21" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-21', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-22', 'transport', 'link-22');">transport</a></tt> <tt class="py-keyword">import</tt> <tt id="link-23" class="py-name" targets="Class paramiko.Transport=paramiko.Transport-class.html"><a title="paramiko.Transport" class="py-name" href="#" onclick="return doclink('link-23', 'Transport', 'link-23');">Transport</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt id="link-24" class="py-name" targets="Variable paramiko.client.SSH_PORT=paramiko.client-module.html#SSH_PORT"><a title="paramiko.client.SSH_PORT" class="py-name" href="#" onclick="return doclink('link-24', 'SSH_PORT', 'link-24');">SSH_PORT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">22</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="MissingHostKeyPolicy"></a><div id="MissingHostKeyPolicy-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="MissingHostKeyPolicy-toggle" onclick="return toggle('MissingHostKeyPolicy');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.client.MissingHostKeyPolicy-class.html">MissingHostKeyPolicy</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MissingHostKeyPolicy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MissingHostKeyPolicy-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> Interface for defining the policy that L{SSHClient} should use when the</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> SSH server's hostname is not in either the system host keys or the</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> application's keys. Pre-made classes implement policies for automatically</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> adding the key to the application's L{HostKeys} object (L{AutoAddPolicy}),</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> and for automatically rejecting the key (L{RejectPolicy}).</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> This function may be used to ask the user to verify the key, for example.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="MissingHostKeyPolicy.missing_host_key"></a><div id="MissingHostKeyPolicy.missing_host_key-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="MissingHostKeyPolicy.missing_host_key-toggle" onclick="return toggle('MissingHostKeyPolicy.missing_host_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.MissingHostKeyPolicy-class.html#missing_host_key">missing_host_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MissingHostKeyPolicy.missing_host_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MissingHostKeyPolicy.missing_host_key-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> Called when an L{SSHClient} receives a server key for a server that</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> isn't in either the system or local L{HostKeys} object. To accept</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> the key, simply return. To reject, raised an exception (which will</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> be passed to the calling application).</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
-<a name="AutoAddPolicy"></a><div id="AutoAddPolicy-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="AutoAddPolicy-toggle" onclick="return toggle('AutoAddPolicy');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.client.AutoAddPolicy-class.html">AutoAddPolicy</a> <tt class="py-op">(</tt><tt class="py-base-class">MissingHostKeyPolicy</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AutoAddPolicy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AutoAddPolicy-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> Policy for automatically adding the hostname and new host key to the</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> local L{HostKeys} object, and saving it. This is used by L{SSHClient}.</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
-<a name="AutoAddPolicy.missing_host_key"></a><div id="AutoAddPolicy.missing_host_key-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="AutoAddPolicy.missing_host_key-toggle" onclick="return toggle('AutoAddPolicy.missing_host_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.AutoAddPolicy-class.html#missing_host_key">missing_host_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AutoAddPolicy.missing_host_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AutoAddPolicy.missing_host_key-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt id="link-25" class="py-name" targets="Module paramiko.client=paramiko.client-module.html"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-25', 'client', 'link-25');">client</a></tt><tt class="py-op">.</tt><tt class="py-name">_host_keys</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.HostKeys.add()=paramiko.HostKeys-class.html#add,Method paramiko.Message.add()=paramiko.Message-class.html#add"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-26', 'add', 'link-26');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-27', 'get_name', 'link-27');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-28" class="py-name"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-28', 'client', 'link-25');">client</a></tt><tt class="py-op">.</tt><tt class="py-name">_host_keys_filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt id="link-29" class="py-name"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-29', 'client', 'link-25');">client</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method paramiko.SSHClient.save_host_keys()=paramiko.SSHClient-class.html#save_host_keys"><a title="paramiko.SSHClient.save_host_keys" class="py-name" href="#" onclick="return doclink('link-30', 'save_host_keys', 'link-30');">save_host_keys</a></tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-31', 'client', 'link-25');">client</a></tt><tt class="py-op">.</tt><tt class="py-name">_host_keys_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt id="link-32" class="py-name"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-32', 'client', 'link-25');">client</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-33" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-33', 'DEBUG', 'link-33');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Adding %s host key for %s: %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-34', 'get_name', 'link-27');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method paramiko.PKey.get_fingerprint()=paramiko.PKey-class.html#get_fingerprint"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-35', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt>
-<a name="RejectPolicy"></a><div id="RejectPolicy-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="RejectPolicy-toggle" onclick="return toggle('RejectPolicy');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.client.RejectPolicy-class.html">RejectPolicy</a> <tt class="py-op">(</tt><tt class="py-base-class">MissingHostKeyPolicy</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RejectPolicy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RejectPolicy-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> Policy for automatically rejecting the unknown hostname &amp; key. This is</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> used by L{SSHClient}.</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
-<a name="RejectPolicy.missing_host_key"></a><div id="RejectPolicy.missing_host_key-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="RejectPolicy.missing_host_key-toggle" onclick="return toggle('RejectPolicy.missing_host_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.RejectPolicy-class.html#missing_host_key">missing_host_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RejectPolicy.missing_host_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RejectPolicy.missing_host_key-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-36', 'client', 'link-25');">client</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-37', 'DEBUG', 'link-33');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Rejecting %s host key for %s: %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-38', 'get_name', 'link-27');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-39', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-40" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-40', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown server %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">hostname</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="WarningPolicy"></a><div id="WarningPolicy-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="WarningPolicy-toggle" onclick="return toggle('WarningPolicy');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.client.WarningPolicy-class.html">WarningPolicy</a> <tt class="py-op">(</tt><tt class="py-base-class">MissingHostKeyPolicy</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WarningPolicy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WarningPolicy-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> Policy for logging a python-style warning for an unknown host key, but</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> accepting it. This is used by L{SSHClient}.</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="WarningPolicy.missing_host_key"></a><div id="WarningPolicy.missing_host_key-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="WarningPolicy.missing_host_key-toggle" onclick="return toggle('WarningPolicy.missing_host_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.WarningPolicy-class.html#missing_host_key">missing_host_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">client</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WarningPolicy.missing_host_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WarningPolicy.missing_host_key-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">'Unknown %s host key for %s: %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-41', 'get_name', 'link-27');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-42', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> </tt>
-<a name="SSHClient"></a><div id="SSHClient-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="SSHClient-toggle" onclick="return toggle('SSHClient');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html">SSHClient</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SSHClient-expanded"><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> A high-level representation of a session with an SSH server. This class</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> wraps L{Transport}, L{Channel}, and L{SFTPClient} to take care of most</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> aspects of authenticating and opening channels. A typical use case is::</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> client = SSHClient()</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> client.load_system_host_keys()</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> client.connect('ssh.example.com')</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> stdin, stdout, stderr = client.exec_command('ls -l')</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> You may pass in explicit overrides for authentication and server host key</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> checking. The default mechanism is to try to use local key files or an</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> SSH agent (if one is running).</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.6</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.__init__"></a><div id="SSHClient.__init__-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="SSHClient.__init__-toggle" onclick="return toggle('SSHClient.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.__init__-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> Create a new SSHClient.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_system_host_keys</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="paramiko.HostKeys" class="py-name" href="#" onclick="return doclink('link-43', 'HostKeys', 'link-10');">HostKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="paramiko.HostKeys" class="py-name" href="#" onclick="return doclink('link-44', 'HostKeys', 'link-10');">HostKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log_channel</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_policy</tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name" targets="Class paramiko.RejectPolicy=paramiko.RejectPolicy-class.html"><a title="paramiko.RejectPolicy" class="py-name" href="#" onclick="return doclink('link-45', 'RejectPolicy', 'link-45');">RejectPolicy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.load_system_host_keys"></a><div id="SSHClient.load_system_host_keys-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="SSHClient.load_system_host_keys-toggle" onclick="return toggle('SSHClient.load_system_host_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#load_system_host_keys">load_system_host_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.load_system_host_keys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.load_system_host_keys-expanded"><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> Load host keys from a system (read-only) file. Host keys read with</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> this method will not be saved back by L{save_host_keys}.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> This method can be called multiple times. Each new set of host keys</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> will be merged with the existing set (new replacing old if there are</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> conflicts).</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> If C{filename} is left as C{None}, an attempt will be made to read</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> keys from the user's local "known hosts" file, as used by OpenSSH,</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> and no exception will be raised if the file can't be read. This is</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> probably only useful on posix.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: the filename to read, or C{None}</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if a filename was provided and the file could not be</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> read</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-comment"># try the user's .ssh key file, and mask exceptions</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~/.ssh/known_hosts'</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_system_host_keys</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method paramiko.HostKeys.load()=paramiko.HostKeys-class.html#load"><a title="paramiko.HostKeys.load" class="py-name" href="#" onclick="return doclink('link-46', 'load', 'link-46');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_system_host_keys</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.HostKeys.load" class="py-name" href="#" onclick="return doclink('link-47', 'load', 'link-46');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.load_host_keys"></a><div id="SSHClient.load_host_keys-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="SSHClient.load_host_keys-toggle" onclick="return toggle('SSHClient.load_host_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#load_host_keys">load_host_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.load_host_keys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.load_host_keys-expanded"><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> Load host keys from a local host-key file. Host keys read with this</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> method will be checked I{after} keys loaded via L{load_system_host_keys},</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> but will be saved back by L{save_host_keys} (so they can be modified).</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> The missing host key policy L{AutoAddPolicy} adds keys to this set and</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> saves them, when connecting to a previously-unknown server.</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> This method can be called multiple times. Each new set of host keys</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> will be merged with the existing set (new replacing old if there are</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> conflicts). When automatically saving, the last hostname is used.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: the filename to read</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the filename could not be read</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.HostKeys.load" class="py-name" href="#" onclick="return doclink('link-48', 'load', 'link-46');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.save_host_keys"></a><div id="SSHClient.save_host_keys-def"><a name="L178"></a><tt class="py-lineno">178</tt> <a class="py-toggle" href="#" id="SSHClient.save_host_keys-toggle" onclick="return toggle('SSHClient.save_host_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#save_host_keys">save_host_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.save_host_keys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.save_host_keys-expanded"><a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> Save the host keys back to a file. Only the host keys loaded with</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> L{load_host_keys} (plus any added directly) will be saved -- not any</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> host keys loaded with L{load_system_host_keys}.</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: the filename to save to</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the file could not be written</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-49', 'open', 'link-49');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-50', 'write', 'link-50');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'# SSH host keys collected by paramiko\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-51', 'keys', 'link-51');">keys</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">keytype</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt id="link-52" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-52', 'keys', 'link-51');">keys</a></tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-53', 'write', 'link-50');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s %s %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">keytype</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method paramiko.PKey.get_base64()=paramiko.PKey-class.html#get_base64"><a title="paramiko.PKey.get_base64" class="py-name" href="#" onclick="return doclink('link-54', 'get_base64', 'link-54');">get_base64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-55', 'close', 'link-55');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.get_host_keys"></a><div id="SSHClient.get_host_keys-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="SSHClient.get_host_keys-toggle" onclick="return toggle('SSHClient.get_host_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#get_host_keys">get_host_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.get_host_keys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.get_host_keys-expanded"><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> Get the local L{HostKeys} object. This can be used to examine the</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> local host keys or change them.</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> @return: the local host keys</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{HostKeys}</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys</tt> </tt>
-</div><a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.set_log_channel"></a><div id="SSHClient.set_log_channel-def"><a name="L206"></a><tt class="py-lineno">206</tt> <a class="py-toggle" href="#" id="SSHClient.set_log_channel-toggle" onclick="return toggle('SSHClient.set_log_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#set_log_channel">set_log_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.set_log_channel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.set_log_channel-expanded"><a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> Set the channel for logging. The default is C{"paramiko.transport"}</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"> but it can be set to anything you want.</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> @param name: new channel name for logging</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log_channel</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-56', 'name', 'link-56');">name</a></tt> </tt>
-</div><a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.set_missing_host_key_policy"></a><div id="SSHClient.set_missing_host_key_policy-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="SSHClient.set_missing_host_key_policy-toggle" onclick="return toggle('SSHClient.set_missing_host_key_policy');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#set_missing_host_key_policy">set_missing_host_key_policy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">policy</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.set_missing_host_key_policy-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.set_missing_host_key_policy-expanded"><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> Set the policy to use when connecting to a server that doesn't have a</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> host key in either the system or local L{HostKeys} objects. The</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> default policy is to reject all unknown servers (using L{RejectPolicy}).</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> You may substitute L{AutoAddPolicy} or write your own policy class.</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> @param policy: the policy to use when receiving a host key from a</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> previously-unknown server</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> @type policy: L{MissingHostKeyPolicy}</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_policy</tt> <tt class="py-op">=</tt> <tt class="py-name">policy</tt> </tt>
-</div><a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.connect"></a><div id="SSHClient.connect-def"><a name="L229"></a><tt class="py-lineno">229</tt> <a class="py-toggle" href="#" id="SSHClient.connect-toggle" onclick="return toggle('SSHClient.connect');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt id="link-57" class="py-name"><a title="paramiko.client.SSH_PORT" class="py-name" href="#" onclick="return doclink('link-57', 'SSH_PORT', 'link-24');">SSH_PORT</a></tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">pkey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-param">key_filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">allow_agent</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">look_for_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-param">compress</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.connect-expanded"><a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> Connect to an SSH server and authenticate to it. The server's host key</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> is checked against the system host keys (see L{load_system_host_keys})</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> and any local host keys (L{load_host_keys}). If the server's hostname</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> is not found in either set of host keys, the missing host key policy</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> is used (see L{set_missing_host_key_policy}). The default policy is</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> to reject the key and raise an L{SSHException}.</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"> Authentication is attempted in the following order of priority:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"> - The C{pkey} or C{key_filename} passed in (if any)</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> - Any key we can find through an SSH agent</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> - Any "id_rsa" or "id_dsa" key discoverable in C{~/.ssh/}</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"> - Plain username/password auth, if a password was given</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> If a private key requires a password to unlock it, and a password is</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> passed in, that password will be used to attempt to unlock the key.</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> @param hostname: the server to connect to</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> @param port: the server port to connect to</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> @type port: int</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username to authenticate as (defaults to the</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> current local username)</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-docstring"> @param password: a password to use for authentication or for unlocking</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> a private key</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"> @param pkey: an optional private key to use for authentication</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> @type pkey: L{PKey}</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"> @param key_filename: the filename, or list of filenames, of optional</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> private key(s) to try for authentication</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> @type key_filename: str or list(str)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> @param timeout: an optional timeout (in seconds) for the TCP connect</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> @type timeout: float</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> @param allow_agent: set to False to disable connecting to the SSH agent</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> @type allow_agent: bool</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> @param look_for_keys: set to False to disable searching for discoverable</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> private key files in C{~/.ssh/}</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> @type look_for_keys: bool</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> @param compress: set to True to turn on compression</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> @type compress: bool</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> @raise BadHostKeyException: if the server's host key could not be</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> verified</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> @raise AuthenticationException: if authentication failed</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if there was any other error connecting or</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-docstring"> establishing an SSH session</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"><tt class="py-docstring"> @raise socket.error: if a socket error occurred while connecting</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">family</tt><tt class="py-op">,</tt> <tt class="py-name">socktype</tt><tt class="py-op">,</tt> <tt class="py-name">proto</tt><tt class="py-op">,</tt> <tt class="py-name">canonname</tt><tt class="py-op">,</tt> <tt class="py-name">sockaddr</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">getaddrinfo</tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_UNSPEC</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">socktype</tt> <tt class="py-op">==</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">af</tt> <tt class="py-op">=</tt> <tt class="py-name">family</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">addr</tt> <tt class="py-op">=</tt> <tt class="py-name">sockaddr</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-comment"># some OS like AIX don't indicate SOCK_STREAM support, so just guess. :(</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">af</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt class="py-name">addr</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">getaddrinfo</tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_UNSPEC</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">af</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">timeout</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method paramiko.Channel.settimeout()=paramiko.Channel-class.html#settimeout,Method paramiko.SFTPFile.settimeout()=paramiko.SFTPFile-class.html#settimeout"><a title="paramiko.Channel.settimeout
-paramiko.SFTPFile.settimeout" class="py-name" href="#" onclick="return doclink('link-58', 'settimeout', 'link-58');">settimeout</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method paramiko.SSHClient.connect()=paramiko.SSHClient-class.html#connect,Method paramiko.Transport.connect()=paramiko.Transport-class.html#connect"><a title="paramiko.SSHClient.connect
-paramiko.Transport.connect" class="py-name" href="#" onclick="return doclink('link-59', 'connect', 'link-59');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">addr</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="paramiko.Transport" class="py-name" href="#" onclick="return doclink('link-60', 'Transport', 'link-23');">Transport</a></tt><tt class="py-op">(</tt><tt class="py-name">sock</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method paramiko.Transport.use_compression()=paramiko.Transport-class.html#use_compression"><a title="paramiko.Transport.use_compression" class="py-name" href="#" onclick="return doclink('link-61', 'use_compression', 'link-61');">use_compression</a></tt><tt class="py-op">(</tt><tt id="link-62" class="py-name" targets="Module paramiko.compress=paramiko.compress-module.html"><a title="paramiko.compress" class="py-name" href="#" onclick="return doclink('link-62', 'compress', 'link-62');">compress</a></tt><tt class="py-op">=</tt><tt id="link-63" class="py-name"><a title="paramiko.compress" class="py-name" href="#" onclick="return doclink('link-63', 'compress', 'link-62');">compress</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log_channel</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method paramiko.SSHClient.set_log_channel()=paramiko.SSHClient-class.html#set_log_channel,Method paramiko.Transport.set_log_channel()=paramiko.Transport-class.html#set_log_channel"><a title="paramiko.SSHClient.set_log_channel
-paramiko.Transport.set_log_channel" class="py-name" href="#" onclick="return doclink('link-64', 'set_log_channel', 'link-64');">set_log_channel</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log_channel</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method paramiko.Transport.start_client()=paramiko.Transport-class.html#start_client"><a title="paramiko.Transport.start_client" class="py-name" href="#" onclick="return doclink('link-65', 'start_client', 'link-65');">start_client</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt id="link-66" class="py-name"><a title="paramiko.resource.ResourceManager" class="py-name" href="#" onclick="return doclink('link-66', 'ResourceManager', 'link-13');">ResourceManager</a></tt><tt class="py-op">.</tt><tt class="py-name">register</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">server_key</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method paramiko.Transport.get_remote_server_key()=paramiko.Transport-class.html#get_remote_server_key"><a title="paramiko.Transport.get_remote_server_key" class="py-name" href="#" onclick="return doclink('link-67', 'get_remote_server_key', 'link-67');">get_remote_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-name">keytype</tt> <tt class="py-op">=</tt> <tt class="py-name">server_key</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-68', 'get_name', 'link-27');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt id="link-69" class="py-name"><a title="paramiko.client.SSH_PORT" class="py-name" href="#" onclick="return doclink('link-69', 'SSH_PORT', 'link-24');">SSH_PORT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-name">server_hostkey_name</tt> <tt class="py-op">=</tt> <tt class="py-name">hostname</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">server_hostkey_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"[%s]:%d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-name">our_server_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_system_host_keys</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Method paramiko.SFTPClient.get()=paramiko.SFTPClient-class.html#get,Method paramiko.transport.ChannelMap.get()=paramiko.transport.ChannelMap-class.html#get"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-70', 'get', 'link-70');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">server_hostkey_name</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-71', 'get', 'link-70');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">keytype</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">our_server_key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">our_server_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_host_keys</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-72', 'get', 'link-70');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">server_hostkey_name</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-73', 'get', 'link-70');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">keytype</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">our_server_key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-comment"># will raise exception if the key is rejected; let that fall out</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_policy</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Method paramiko.AutoAddPolicy.missing_host_key()=paramiko.AutoAddPolicy-class.html#missing_host_key,Method paramiko.MissingHostKeyPolicy.missing_host_key()=paramiko.MissingHostKeyPolicy-class.html#missing_host_key,Method paramiko.RejectPolicy.missing_host_key()=paramiko.RejectPolicy-class.html#missing_host_key,Method paramiko.WarningPolicy.missing_host_key()=paramiko.WarningPolicy-class.html#missing_host_key"><a title="paramiko.AutoAddPolicy.missing_host_key
-paramiko.MissingHostKeyPolicy.missing_host_key
-paramiko.RejectPolicy.missing_host_key
-paramiko.WarningPolicy.missing_host_key" class="py-name" href="#" onclick="return doclink('link-74', 'missing_host_key', 'link-74');">missing_host_key</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">server_hostkey_name</tt><tt class="py-op">,</tt> <tt class="py-name">server_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-comment"># if the callback returns, assume the key is ok</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-name">our_server_key</tt> <tt class="py-op">=</tt> <tt class="py-name">server_key</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">server_key</tt> <tt class="py-op">!=</tt> <tt class="py-name">our_server_key</tt><tt class="py-op">:</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-75" class="py-name"><a title="paramiko.BadHostKeyException" class="py-name" href="#" onclick="return doclink('link-75', 'BadHostKeyException', 'link-20');">BadHostKeyException</a></tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">server_key</tt><tt class="py-op">,</tt> <tt class="py-name">our_server_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">username</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">getpass</tt><tt class="py-op">.</tt><tt class="py-name">getuser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key_filename</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">key_filenames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">key_filename</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-name">key_filenames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">key_filename</tt> <tt class="py-op">]</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-name">key_filenames</tt> <tt class="py-op">=</tt> <tt class="py-name">key_filename</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_auth</tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">,</tt> <tt id="link-76" class="py-name" targets="Module paramiko.pkey=paramiko.pkey-module.html"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-76', 'pkey', 'link-76');">pkey</a></tt><tt class="py-op">,</tt> <tt class="py-name">key_filenames</tt><tt class="py-op">,</tt> <tt class="py-name">allow_agent</tt><tt class="py-op">,</tt> <tt class="py-name">look_for_keys</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.close"></a><div id="SSHClient.close-def"><a name="L334"></a><tt class="py-lineno">334</tt> <a class="py-toggle" href="#" id="SSHClient.close-toggle" onclick="return toggle('SSHClient.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.close-expanded"><a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"><tt class="py-docstring"> Close this SSHClient and its underlying L{Transport}.</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-77', 'close', 'link-55');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-78', 'close', 'link-55');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.exec_command"></a><div id="SSHClient.exec_command-def"><a name="L347"></a><tt class="py-lineno">347</tt> <a class="py-toggle" href="#" id="SSHClient.exec_command-toggle" onclick="return toggle('SSHClient.exec_command');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#exec_command">exec_command</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">,</tt> <tt class="py-param">bufsize</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.exec_command-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.exec_command-expanded"><a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"><tt class="py-docstring"> Execute a command on the SSH server. A new L{Channel} is opened and</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"><tt class="py-docstring"> the requested command is executed. The command's input and output</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"><tt class="py-docstring"> streams are returned as python C{file}-like objects representing</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"><tt class="py-docstring"> stdin, stdout, and stderr.</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"><tt class="py-docstring"> @param command: the command to execute</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"><tt class="py-docstring"> @type command: str</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"><tt class="py-docstring"> @param bufsize: interpreted the same way as by the built-in C{file()} function in python</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"><tt class="py-docstring"> @type bufsize: int</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"><tt class="py-docstring"> @return: the stdin, stdout, and stderr of the executing command</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: tuple(L{ChannelFile}, L{ChannelFile}, L{ChannelFile})</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the server fails to execute the command</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method paramiko.Transport.open_session()=paramiko.Transport-class.html#open_session"><a title="paramiko.Transport.open_session" class="py-name" href="#" onclick="return doclink('link-79', 'open_session', 'link-79');">open_session</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method paramiko.Channel.exec_command()=paramiko.Channel-class.html#exec_command,Method paramiko.SSHClient.exec_command()=paramiko.SSHClient-class.html#exec_command"><a title="paramiko.Channel.exec_command
-paramiko.SSHClient.exec_command" class="py-name" href="#" onclick="return doclink('link-80', 'exec_command', 'link-80');">exec_command</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name" targets="Method paramiko.Channel.makefile()=paramiko.Channel-class.html#makefile"><a title="paramiko.Channel.makefile" class="py-name" href="#" onclick="return doclink('link-81', 'makefile', 'link-81');">makefile</a></tt><tt class="py-op">(</tt><tt class="py-string">'wb'</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-name">stdout</tt> <tt class="py-op">=</tt> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="paramiko.Channel.makefile" class="py-name" href="#" onclick="return doclink('link-82', 'makefile', 'link-81');">makefile</a></tt><tt class="py-op">(</tt><tt class="py-string">'rb'</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">stderr</tt> <tt class="py-op">=</tt> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method paramiko.Channel.makefile_stderr()=paramiko.Channel-class.html#makefile_stderr"><a title="paramiko.Channel.makefile_stderr" class="py-name" href="#" onclick="return doclink('link-83', 'makefile_stderr', 'link-83');">makefile_stderr</a></tt><tt class="py-op">(</tt><tt class="py-string">'rb'</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">stdin</tt><tt class="py-op">,</tt> <tt class="py-name">stdout</tt><tt class="py-op">,</tt> <tt class="py-name">stderr</tt> </tt>
-</div><a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.invoke_shell"></a><div id="SSHClient.invoke_shell-def"><a name="L370"></a><tt class="py-lineno">370</tt> <a class="py-toggle" href="#" id="SSHClient.invoke_shell-toggle" onclick="return toggle('SSHClient.invoke_shell');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#invoke_shell">invoke_shell</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">term</tt><tt class="py-op">=</tt><tt class="py-string">'vt100'</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-number">80</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-number">24</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.invoke_shell-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.invoke_shell-expanded"><a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"><tt class="py-docstring"> Start an interactive shell session on the SSH server. A new L{Channel}</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"><tt class="py-docstring"> is opened and connected to a pseudo-terminal using the requested</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"><tt class="py-docstring"> terminal type and size.</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"><tt class="py-docstring"> @param term: the terminal type to emulate (for example, C{"vt100"})</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"><tt class="py-docstring"> @type term: str</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"><tt class="py-docstring"> @param width: the width (in characters) of the terminal window</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"><tt class="py-docstring"> @type width: int</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"><tt class="py-docstring"> @param height: the height (in characters) of the terminal window</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"><tt class="py-docstring"> @type height: int</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new channel connected to the remote shell</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Channel}</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the server fails to invoke a shell</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="paramiko.Transport.open_session" class="py-name" href="#" onclick="return doclink('link-84', 'open_session', 'link-79');">open_session</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Method paramiko.Channel.get_pty()=paramiko.Channel-class.html#get_pty"><a title="paramiko.Channel.get_pty" class="py-name" href="#" onclick="return doclink('link-85', 'get_pty', 'link-85');">get_pty</a></tt><tt class="py-op">(</tt><tt class="py-name">term</tt><tt class="py-op">,</tt> <tt class="py-name">width</tt><tt class="py-op">,</tt> <tt class="py-name">height</tt><tt class="py-op">)</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method paramiko.Channel.invoke_shell()=paramiko.Channel-class.html#invoke_shell,Method paramiko.SSHClient.invoke_shell()=paramiko.SSHClient-class.html#invoke_shell"><a title="paramiko.Channel.invoke_shell
-paramiko.SSHClient.invoke_shell" class="py-name" href="#" onclick="return doclink('link-86', 'invoke_shell', 'link-86');">invoke_shell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">chan</tt> </tt>
-</div><a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.open_sftp"></a><div id="SSHClient.open_sftp-def"><a name="L392"></a><tt class="py-lineno">392</tt> <a class="py-toggle" href="#" id="SSHClient.open_sftp-toggle" onclick="return toggle('SSHClient.open_sftp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#open_sftp">open_sftp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.open_sftp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.open_sftp-expanded"><a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"><tt class="py-docstring"> Open an SFTP session on the SSH server.</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new SFTP session object</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPClient}</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method paramiko.Transport.open_sftp_client()=paramiko.Transport-class.html#open_sftp_client"><a title="paramiko.Transport.open_sftp_client" class="py-name" href="#" onclick="return doclink('link-87', 'open_sftp_client', 'link-87');">open_sftp_client</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> </tt>
-<a name="SSHClient.get_transport"></a><div id="SSHClient.get_transport-def"><a name="L401"></a><tt class="py-lineno">401</tt> <a class="py-toggle" href="#" id="SSHClient.get_transport-toggle" onclick="return toggle('SSHClient.get_transport');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#get_transport">get_transport</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient.get_transport-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient.get_transport-expanded"><a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"><tt class="py-docstring"> Return the underlying L{Transport} object for this SSH connection.</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"><tt class="py-docstring"> This can be used to perform lower-level tasks, like opening specific</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"><tt class="py-docstring"> kinds of channels.</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"><tt class="py-docstring"> @return: the Transport for this connection</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Transport}</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt> </tt>
-</div><a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> </tt>
-<a name="SSHClient._auth"></a><div id="SSHClient._auth-def"><a name="L412"></a><tt class="py-lineno">412</tt> <a class="py-toggle" href="#" id="SSHClient._auth-toggle" onclick="return toggle('SSHClient._auth');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#_auth">_auth</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">,</tt> <tt class="py-param">pkey</tt><tt class="py-op">,</tt> <tt class="py-param">key_filenames</tt><tt class="py-op">,</tt> <tt class="py-param">allow_agent</tt><tt class="py-op">,</tt> <tt class="py-param">look_for_keys</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient._auth-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient._auth-expanded"><a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"><tt class="py-docstring"> Try, in order:</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"><tt class="py-docstring"> - The key passed in, if one was passed in.</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"><tt class="py-docstring"> - Any key we can find through an SSH agent (if allowed).</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"><tt class="py-docstring"> - Any "id_rsa" or "id_dsa" key discoverable in ~/.ssh/ (if allowed).</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"><tt class="py-docstring"> - Plain username/password auth, if a password was given.</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"><tt class="py-docstring"> (The password might be needed to unlock a private key.)</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-88" class="py-name"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-88', 'pkey', 'link-76');">pkey</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-89', 'DEBUG', 'link-33');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Trying SSH key %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-90', 'pkey', 'link-76');">pkey</a></tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-91', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method paramiko.Transport.auth_publickey()=paramiko.Transport-class.html#auth_publickey"><a title="paramiko.Transport.auth_publickey" class="py-name" href="#" onclick="return doclink('link-92', 'auth_publickey', 'link-92');">auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt id="link-93" class="py-name"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-93', 'pkey', 'link-76');">pkey</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-94" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-94', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key_filename</tt> <tt class="py-keyword">in</tt> <tt class="py-name">key_filenames</tt><tt class="py-op">:</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">pkey_class</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-95', 'RSAKey', 'link-16');">RSAKey</a></tt><tt class="py-op">,</tt> <tt id="link-96" class="py-name"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-96', 'DSSKey', 'link-7');">DSSKey</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">pkey_class</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Class Method paramiko.PKey.from_private_key_file()=paramiko.PKey-class.html#from_private_key_file"><a title="paramiko.PKey.from_private_key_file" class="py-name" href="#" onclick="return doclink('link-97', 'from_private_key_file', 'link-97');">from_private_key_file</a></tt><tt class="py-op">(</tt><tt class="py-name">key_filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-98', 'DEBUG', 'link-33');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Trying key %s from %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-99', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">key_filename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="paramiko.Transport.auth_publickey" class="py-name" href="#" onclick="return doclink('link-100', 'auth_publickey', 'link-92');">auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-101" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-101', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">allow_agent</tt><tt class="py-op">:</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name"><a title="paramiko.Agent" class="py-name" href="#" onclick="return doclink('link-102', 'Agent', 'link-2');">Agent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_agent</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name" targets="Method paramiko.Agent.get_keys()=paramiko.Agent-class.html#get_keys"><a title="paramiko.Agent.get_keys" class="py-name" href="#" onclick="return doclink('link-103', 'get_keys', 'link-103');">get_keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-104" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-104', 'DEBUG', 'link-33');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Trying SSH agent key %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-105', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="paramiko.Transport.auth_publickey" class="py-name" href="#" onclick="return doclink('link-106', 'auth_publickey', 'link-92');">auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-107" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-107', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> <tt class="py-name">keyfiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-name">rsa_key</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~/.ssh/id_rsa'</tt><tt class="py-op">)</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-name">dsa_key</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~/.ssh/id_dsa'</tt><tt class="py-op">)</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">rsa_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-name">keyfiles</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-108" class="py-name"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-108', 'RSAKey', 'link-16');">RSAKey</a></tt><tt class="py-op">,</tt> <tt class="py-name">rsa_key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">dsa_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-name">keyfiles</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-109" class="py-name"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-109', 'DSSKey', 'link-7');">DSSKey</a></tt><tt class="py-op">,</tt> <tt class="py-name">dsa_key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-comment"># look in ~/ssh/ for windows users:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-name">rsa_key</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~/ssh/id_rsa'</tt><tt class="py-op">)</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-name">dsa_key</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~/ssh/id_dsa'</tt><tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">rsa_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"> <tt class="py-name">keyfiles</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-110" class="py-name"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-110', 'RSAKey', 'link-16');">RSAKey</a></tt><tt class="py-op">,</tt> <tt class="py-name">rsa_key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">dsa_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> <tt class="py-name">keyfiles</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-111" class="py-name"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-111', 'DSSKey', 'link-7');">DSSKey</a></tt><tt class="py-op">,</tt> <tt class="py-name">dsa_key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">look_for_keys</tt><tt class="py-op">:</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-name">keyfiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">pkey_class</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keyfiles</tt><tt class="py-op">:</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">pkey_class</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.PKey.from_private_key_file" class="py-name" href="#" onclick="return doclink('link-112', 'from_private_key_file', 'link-97');">from_private_key_file</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-113', 'DEBUG', 'link-33');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Trying discovered key %s in %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="paramiko.PKey.get_fingerprint" class="py-name" href="#" onclick="return doclink('link-114', 'get_fingerprint', 'link-35');">get_fingerprint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="paramiko.Transport.auth_publickey" class="py-name" href="#" onclick="return doclink('link-115', 'auth_publickey', 'link-92');">auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-116" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-116', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">password</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method paramiko.Transport.auth_password()=paramiko.Transport-class.html#auth_password"><a title="paramiko.Transport.auth_password" class="py-name" href="#" onclick="return doclink('link-117', 'auth_password', 'link-117');">auth_password</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-118" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-118', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"> <tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"> <tt class="py-comment"># if we got an auth-failed exception earlier, re-raise it</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">saved_exception</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">saved_exception</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-119" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-119', 'SSHException', 'link-19');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No authentication methods available'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> </tt>
-<a name="SSHClient._log"></a><div id="SSHClient._log-def"><a name="L496"></a><tt class="py-lineno">496</tt> <a class="py-toggle" href="#" id="SSHClient._log-toggle" onclick="return toggle('SSHClient._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.client.SSHClient-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHClient._log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHClient._log-expanded"><a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.common-module.html b/docs/paramiko.common-module.html
deleted file mode 100644
index 9b48688..0000000
--- a/docs/paramiko.common-module.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.common</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;common
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.common-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module common</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.common-pysrc.html">source&nbsp;code</a></span></p>
-<p>Common constants and global variables.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.common-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.common-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.common-pysrc.html b/docs/paramiko.common-pysrc.html
deleted file mode 100644
index 92e998f..0000000
--- a/docs/paramiko.common-pysrc.html
+++ /dev/null
@@ -1,1905 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.common</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;common
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.common-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.common-module.html" onclick="show_private();">Module paramiko.common</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Common constants and global variables.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable paramiko.auth_handler.MSG_DISCONNECT=paramiko.auth_handler-module.html#MSG_DISCONNECT,Variable paramiko.channel.MSG_DISCONNECT=paramiko.channel-module.html#MSG_DISCONNECT,Variable paramiko.client.MSG_DISCONNECT=paramiko.client-module.html#MSG_DISCONNECT,Variable paramiko.common.MSG_DISCONNECT=paramiko.common-module.html#MSG_DISCONNECT,Variable paramiko.dsskey.MSG_DISCONNECT=paramiko.dsskey-module.html#MSG_DISCONNECT,Variable paramiko.hostkeys.MSG_DISCONNECT=paramiko.hostkeys-module.html#MSG_DISCONNECT,Variable paramiko.kex_gex.MSG_DISCONNECT=paramiko.kex_gex-module.html#MSG_DISCONNECT,Variable paramiko.kex_group1.MSG_DISCONNECT=paramiko.kex_group1-module.html#MSG_DISCONNECT,Variable paramiko.packet.MSG_DISCONNECT=paramiko.packet-module.html#MSG_DISCONNECT,Variable paramiko.pkey.MSG_DISCONNECT=paramiko.pkey-module.html#MSG_DISCONNECT,Variable paramiko.rsakey.MSG_DISCONNECT=paramiko.rsakey-module.html#MSG_DISCONNECT,Variable paramiko.server.MSG_DISCONNECT=paramiko.server-module.html#MSG_DISCONNECT,Variable paramiko.sftp.MSG_DISCONNECT=paramiko.sftp-module.html#MSG_DISCONNECT,Variable paramiko.sftp_attr.MSG_DISCONNECT=paramiko.sftp_attr-module.html#MSG_DISCONNECT,Variable paramiko.sftp_client.MSG_DISCONNECT=paramiko.sftp_client-module.html#MSG_DISCONNECT,Variable paramiko.sftp_file.MSG_DISCONNECT=paramiko.sftp_file-module.html#MSG_DISCONNECT,Variable paramiko.sftp_handle.MSG_DISCONNECT=paramiko.sftp_handle-module.html#MSG_DISCONNECT,Variable paramiko.sftp_server.MSG_DISCONNECT=paramiko.sftp_server-module.html#MSG_DISCONNECT,Variable paramiko.sftp_si.MSG_DISCONNECT=paramiko.sftp_si-module.html#MSG_DISCONNECT,Variable paramiko.transport.MSG_DISCONNECT=paramiko.transport-module.html#MSG_DISCONNECT,Variable paramiko.util.MSG_DISCONNECT=paramiko.util-module.html#MSG_DISCONNECT"><a title="paramiko.auth_handler.MSG_DISCONNECT
-paramiko.channel.MSG_DISCONNECT
-paramiko.client.MSG_DISCONNECT
-paramiko.common.MSG_DISCONNECT
-paramiko.dsskey.MSG_DISCONNECT
-paramiko.hostkeys.MSG_DISCONNECT
-paramiko.kex_gex.MSG_DISCONNECT
-paramiko.kex_group1.MSG_DISCONNECT
-paramiko.packet.MSG_DISCONNECT
-paramiko.pkey.MSG_DISCONNECT
-paramiko.rsakey.MSG_DISCONNECT
-paramiko.server.MSG_DISCONNECT
-paramiko.sftp.MSG_DISCONNECT
-paramiko.sftp_attr.MSG_DISCONNECT
-paramiko.sftp_client.MSG_DISCONNECT
-paramiko.sftp_file.MSG_DISCONNECT
-paramiko.sftp_handle.MSG_DISCONNECT
-paramiko.sftp_server.MSG_DISCONNECT
-paramiko.sftp_si.MSG_DISCONNECT
-paramiko.transport.MSG_DISCONNECT
-paramiko.util.MSG_DISCONNECT" class="py-name" href="#" onclick="return doclink('link-0', 'MSG_DISCONNECT', 'link-0');">MSG_DISCONNECT</a></tt><tt class="py-op">,</tt> <tt id="link-1" class="py-name" targets="Variable paramiko.auth_handler.MSG_IGNORE=paramiko.auth_handler-module.html#MSG_IGNORE,Variable paramiko.channel.MSG_IGNORE=paramiko.channel-module.html#MSG_IGNORE,Variable paramiko.client.MSG_IGNORE=paramiko.client-module.html#MSG_IGNORE,Variable paramiko.common.MSG_IGNORE=paramiko.common-module.html#MSG_IGNORE,Variable paramiko.dsskey.MSG_IGNORE=paramiko.dsskey-module.html#MSG_IGNORE,Variable paramiko.hostkeys.MSG_IGNORE=paramiko.hostkeys-module.html#MSG_IGNORE,Variable paramiko.kex_gex.MSG_IGNORE=paramiko.kex_gex-module.html#MSG_IGNORE,Variable paramiko.kex_group1.MSG_IGNORE=paramiko.kex_group1-module.html#MSG_IGNORE,Variable paramiko.packet.MSG_IGNORE=paramiko.packet-module.html#MSG_IGNORE,Variable paramiko.pkey.MSG_IGNORE=paramiko.pkey-module.html#MSG_IGNORE,Variable paramiko.rsakey.MSG_IGNORE=paramiko.rsakey-module.html#MSG_IGNORE,Variable paramiko.server.MSG_IGNORE=paramiko.server-module.html#MSG_IGNORE,Variable paramiko.sftp.MSG_IGNORE=paramiko.sftp-module.html#MSG_IGNORE,Variable paramiko.sftp_attr.MSG_IGNORE=paramiko.sftp_attr-module.html#MSG_IGNORE,Variable paramiko.sftp_client.MSG_IGNORE=paramiko.sftp_client-module.html#MSG_IGNORE,Variable paramiko.sftp_file.MSG_IGNORE=paramiko.sftp_file-module.html#MSG_IGNORE,Variable paramiko.sftp_handle.MSG_IGNORE=paramiko.sftp_handle-module.html#MSG_IGNORE,Variable paramiko.sftp_server.MSG_IGNORE=paramiko.sftp_server-module.html#MSG_IGNORE,Variable paramiko.sftp_si.MSG_IGNORE=paramiko.sftp_si-module.html#MSG_IGNORE,Variable paramiko.transport.MSG_IGNORE=paramiko.transport-module.html#MSG_IGNORE,Variable paramiko.util.MSG_IGNORE=paramiko.util-module.html#MSG_IGNORE"><a title="paramiko.auth_handler.MSG_IGNORE
-paramiko.channel.MSG_IGNORE
-paramiko.client.MSG_IGNORE
-paramiko.common.MSG_IGNORE
-paramiko.dsskey.MSG_IGNORE
-paramiko.hostkeys.MSG_IGNORE
-paramiko.kex_gex.MSG_IGNORE
-paramiko.kex_group1.MSG_IGNORE
-paramiko.packet.MSG_IGNORE
-paramiko.pkey.MSG_IGNORE
-paramiko.rsakey.MSG_IGNORE
-paramiko.server.MSG_IGNORE
-paramiko.sftp.MSG_IGNORE
-paramiko.sftp_attr.MSG_IGNORE
-paramiko.sftp_client.MSG_IGNORE
-paramiko.sftp_file.MSG_IGNORE
-paramiko.sftp_handle.MSG_IGNORE
-paramiko.sftp_server.MSG_IGNORE
-paramiko.sftp_si.MSG_IGNORE
-paramiko.transport.MSG_IGNORE
-paramiko.util.MSG_IGNORE" class="py-name" href="#" onclick="return doclink('link-1', 'MSG_IGNORE', 'link-1');">MSG_IGNORE</a></tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name" targets="Variable paramiko.auth_handler.MSG_UNIMPLEMENTED=paramiko.auth_handler-module.html#MSG_UNIMPLEMENTED,Variable paramiko.channel.MSG_UNIMPLEMENTED=paramiko.channel-module.html#MSG_UNIMPLEMENTED,Variable paramiko.client.MSG_UNIMPLEMENTED=paramiko.client-module.html#MSG_UNIMPLEMENTED,Variable paramiko.common.MSG_UNIMPLEMENTED=paramiko.common-module.html#MSG_UNIMPLEMENTED,Variable paramiko.dsskey.MSG_UNIMPLEMENTED=paramiko.dsskey-module.html#MSG_UNIMPLEMENTED,Variable paramiko.hostkeys.MSG_UNIMPLEMENTED=paramiko.hostkeys-module.html#MSG_UNIMPLEMENTED,Variable paramiko.kex_gex.MSG_UNIMPLEMENTED=paramiko.kex_gex-module.html#MSG_UNIMPLEMENTED,Variable paramiko.kex_group1.MSG_UNIMPLEMENTED=paramiko.kex_group1-module.html#MSG_UNIMPLEMENTED,Variable paramiko.packet.MSG_UNIMPLEMENTED=paramiko.packet-module.html#MSG_UNIMPLEMENTED,Variable paramiko.pkey.MSG_UNIMPLEMENTED=paramiko.pkey-module.html#MSG_UNIMPLEMENTED,Variable paramiko.rsakey.MSG_UNIMPLEMENTED=paramiko.rsakey-module.html#MSG_UNIMPLEMENTED,Variable paramiko.server.MSG_UNIMPLEMENTED=paramiko.server-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp.MSG_UNIMPLEMENTED=paramiko.sftp-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_attr.MSG_UNIMPLEMENTED=paramiko.sftp_attr-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_client.MSG_UNIMPLEMENTED=paramiko.sftp_client-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_file.MSG_UNIMPLEMENTED=paramiko.sftp_file-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_handle.MSG_UNIMPLEMENTED=paramiko.sftp_handle-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_server.MSG_UNIMPLEMENTED=paramiko.sftp_server-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_si.MSG_UNIMPLEMENTED=paramiko.sftp_si-module.html#MSG_UNIMPLEMENTED,Variable paramiko.transport.MSG_UNIMPLEMENTED=paramiko.transport-module.html#MSG_UNIMPLEMENTED,Variable paramiko.util.MSG_UNIMPLEMENTED=paramiko.util-module.html#MSG_UNIMPLEMENTED"><a title="paramiko.auth_handler.MSG_UNIMPLEMENTED
-paramiko.channel.MSG_UNIMPLEMENTED
-paramiko.client.MSG_UNIMPLEMENTED
-paramiko.common.MSG_UNIMPLEMENTED
-paramiko.dsskey.MSG_UNIMPLEMENTED
-paramiko.hostkeys.MSG_UNIMPLEMENTED
-paramiko.kex_gex.MSG_UNIMPLEMENTED
-paramiko.kex_group1.MSG_UNIMPLEMENTED
-paramiko.packet.MSG_UNIMPLEMENTED
-paramiko.pkey.MSG_UNIMPLEMENTED
-paramiko.rsakey.MSG_UNIMPLEMENTED
-paramiko.server.MSG_UNIMPLEMENTED
-paramiko.sftp.MSG_UNIMPLEMENTED
-paramiko.sftp_attr.MSG_UNIMPLEMENTED
-paramiko.sftp_client.MSG_UNIMPLEMENTED
-paramiko.sftp_file.MSG_UNIMPLEMENTED
-paramiko.sftp_handle.MSG_UNIMPLEMENTED
-paramiko.sftp_server.MSG_UNIMPLEMENTED
-paramiko.sftp_si.MSG_UNIMPLEMENTED
-paramiko.transport.MSG_UNIMPLEMENTED
-paramiko.util.MSG_UNIMPLEMENTED" class="py-name" href="#" onclick="return doclink('link-2', 'MSG_UNIMPLEMENTED', 'link-2');">MSG_UNIMPLEMENTED</a></tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name" targets="Variable paramiko.auth_handler.MSG_DEBUG=paramiko.auth_handler-module.html#MSG_DEBUG,Variable paramiko.channel.MSG_DEBUG=paramiko.channel-module.html#MSG_DEBUG,Variable paramiko.client.MSG_DEBUG=paramiko.client-module.html#MSG_DEBUG,Variable paramiko.common.MSG_DEBUG=paramiko.common-module.html#MSG_DEBUG,Variable paramiko.dsskey.MSG_DEBUG=paramiko.dsskey-module.html#MSG_DEBUG,Variable paramiko.hostkeys.MSG_DEBUG=paramiko.hostkeys-module.html#MSG_DEBUG,Variable paramiko.kex_gex.MSG_DEBUG=paramiko.kex_gex-module.html#MSG_DEBUG,Variable paramiko.kex_group1.MSG_DEBUG=paramiko.kex_group1-module.html#MSG_DEBUG,Variable paramiko.packet.MSG_DEBUG=paramiko.packet-module.html#MSG_DEBUG,Variable paramiko.pkey.MSG_DEBUG=paramiko.pkey-module.html#MSG_DEBUG,Variable paramiko.rsakey.MSG_DEBUG=paramiko.rsakey-module.html#MSG_DEBUG,Variable paramiko.server.MSG_DEBUG=paramiko.server-module.html#MSG_DEBUG,Variable paramiko.sftp.MSG_DEBUG=paramiko.sftp-module.html#MSG_DEBUG,Variable paramiko.sftp_attr.MSG_DEBUG=paramiko.sftp_attr-module.html#MSG_DEBUG,Variable paramiko.sftp_client.MSG_DEBUG=paramiko.sftp_client-module.html#MSG_DEBUG,Variable paramiko.sftp_file.MSG_DEBUG=paramiko.sftp_file-module.html#MSG_DEBUG,Variable paramiko.sftp_handle.MSG_DEBUG=paramiko.sftp_handle-module.html#MSG_DEBUG,Variable paramiko.sftp_server.MSG_DEBUG=paramiko.sftp_server-module.html#MSG_DEBUG,Variable paramiko.sftp_si.MSG_DEBUG=paramiko.sftp_si-module.html#MSG_DEBUG,Variable paramiko.transport.MSG_DEBUG=paramiko.transport-module.html#MSG_DEBUG,Variable paramiko.util.MSG_DEBUG=paramiko.util-module.html#MSG_DEBUG"><a title="paramiko.auth_handler.MSG_DEBUG
-paramiko.channel.MSG_DEBUG
-paramiko.client.MSG_DEBUG
-paramiko.common.MSG_DEBUG
-paramiko.dsskey.MSG_DEBUG
-paramiko.hostkeys.MSG_DEBUG
-paramiko.kex_gex.MSG_DEBUG
-paramiko.kex_group1.MSG_DEBUG
-paramiko.packet.MSG_DEBUG
-paramiko.pkey.MSG_DEBUG
-paramiko.rsakey.MSG_DEBUG
-paramiko.server.MSG_DEBUG
-paramiko.sftp.MSG_DEBUG
-paramiko.sftp_attr.MSG_DEBUG
-paramiko.sftp_client.MSG_DEBUG
-paramiko.sftp_file.MSG_DEBUG
-paramiko.sftp_handle.MSG_DEBUG
-paramiko.sftp_server.MSG_DEBUG
-paramiko.sftp_si.MSG_DEBUG
-paramiko.transport.MSG_DEBUG
-paramiko.util.MSG_DEBUG" class="py-name" href="#" onclick="return doclink('link-3', 'MSG_DEBUG', 'link-3');">MSG_DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name" targets="Variable paramiko.auth_handler.MSG_SERVICE_REQUEST=paramiko.auth_handler-module.html#MSG_SERVICE_REQUEST,Variable paramiko.channel.MSG_SERVICE_REQUEST=paramiko.channel-module.html#MSG_SERVICE_REQUEST,Variable paramiko.client.MSG_SERVICE_REQUEST=paramiko.client-module.html#MSG_SERVICE_REQUEST,Variable paramiko.common.MSG_SERVICE_REQUEST=paramiko.common-module.html#MSG_SERVICE_REQUEST,Variable paramiko.dsskey.MSG_SERVICE_REQUEST=paramiko.dsskey-module.html#MSG_SERVICE_REQUEST,Variable paramiko.hostkeys.MSG_SERVICE_REQUEST=paramiko.hostkeys-module.html#MSG_SERVICE_REQUEST,Variable paramiko.kex_gex.MSG_SERVICE_REQUEST=paramiko.kex_gex-module.html#MSG_SERVICE_REQUEST,Variable paramiko.kex_group1.MSG_SERVICE_REQUEST=paramiko.kex_group1-module.html#MSG_SERVICE_REQUEST,Variable paramiko.packet.MSG_SERVICE_REQUEST=paramiko.packet-module.html#MSG_SERVICE_REQUEST,Variable paramiko.pkey.MSG_SERVICE_REQUEST=paramiko.pkey-module.html#MSG_SERVICE_REQUEST,Variable paramiko.rsakey.MSG_SERVICE_REQUEST=paramiko.rsakey-module.html#MSG_SERVICE_REQUEST,Variable paramiko.server.MSG_SERVICE_REQUEST=paramiko.server-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp.MSG_SERVICE_REQUEST=paramiko.sftp-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_attr.MSG_SERVICE_REQUEST=paramiko.sftp_attr-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_client.MSG_SERVICE_REQUEST=paramiko.sftp_client-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_file.MSG_SERVICE_REQUEST=paramiko.sftp_file-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_handle.MSG_SERVICE_REQUEST=paramiko.sftp_handle-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_server.MSG_SERVICE_REQUEST=paramiko.sftp_server-module.html#MSG_SERVICE_REQUEST,Variable paramiko.sftp_si.MSG_SERVICE_REQUEST=paramiko.sftp_si-module.html#MSG_SERVICE_REQUEST,Variable paramiko.transport.MSG_SERVICE_REQUEST=paramiko.transport-module.html#MSG_SERVICE_REQUEST,Variable paramiko.util.MSG_SERVICE_REQUEST=paramiko.util-module.html#MSG_SERVICE_REQUEST"><a title="paramiko.auth_handler.MSG_SERVICE_REQUEST
-paramiko.channel.MSG_SERVICE_REQUEST
-paramiko.client.MSG_SERVICE_REQUEST
-paramiko.common.MSG_SERVICE_REQUEST
-paramiko.dsskey.MSG_SERVICE_REQUEST
-paramiko.hostkeys.MSG_SERVICE_REQUEST
-paramiko.kex_gex.MSG_SERVICE_REQUEST
-paramiko.kex_group1.MSG_SERVICE_REQUEST
-paramiko.packet.MSG_SERVICE_REQUEST
-paramiko.pkey.MSG_SERVICE_REQUEST
-paramiko.rsakey.MSG_SERVICE_REQUEST
-paramiko.server.MSG_SERVICE_REQUEST
-paramiko.sftp.MSG_SERVICE_REQUEST
-paramiko.sftp_attr.MSG_SERVICE_REQUEST
-paramiko.sftp_client.MSG_SERVICE_REQUEST
-paramiko.sftp_file.MSG_SERVICE_REQUEST
-paramiko.sftp_handle.MSG_SERVICE_REQUEST
-paramiko.sftp_server.MSG_SERVICE_REQUEST
-paramiko.sftp_si.MSG_SERVICE_REQUEST
-paramiko.transport.MSG_SERVICE_REQUEST
-paramiko.util.MSG_SERVICE_REQUEST" class="py-name" href="#" onclick="return doclink('link-4', 'MSG_SERVICE_REQUEST', 'link-4');">MSG_SERVICE_REQUEST</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Variable paramiko.auth_handler.MSG_SERVICE_ACCEPT=paramiko.auth_handler-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.channel.MSG_SERVICE_ACCEPT=paramiko.channel-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.client.MSG_SERVICE_ACCEPT=paramiko.client-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.common.MSG_SERVICE_ACCEPT=paramiko.common-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.dsskey.MSG_SERVICE_ACCEPT=paramiko.dsskey-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.hostkeys.MSG_SERVICE_ACCEPT=paramiko.hostkeys-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.kex_gex.MSG_SERVICE_ACCEPT=paramiko.kex_gex-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.kex_group1.MSG_SERVICE_ACCEPT=paramiko.kex_group1-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.packet.MSG_SERVICE_ACCEPT=paramiko.packet-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.pkey.MSG_SERVICE_ACCEPT=paramiko.pkey-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.rsakey.MSG_SERVICE_ACCEPT=paramiko.rsakey-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.server.MSG_SERVICE_ACCEPT=paramiko.server-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp.MSG_SERVICE_ACCEPT=paramiko.sftp-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_attr.MSG_SERVICE_ACCEPT=paramiko.sftp_attr-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_client.MSG_SERVICE_ACCEPT=paramiko.sftp_client-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_file.MSG_SERVICE_ACCEPT=paramiko.sftp_file-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_handle.MSG_SERVICE_ACCEPT=paramiko.sftp_handle-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_server.MSG_SERVICE_ACCEPT=paramiko.sftp_server-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.sftp_si.MSG_SERVICE_ACCEPT=paramiko.sftp_si-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.transport.MSG_SERVICE_ACCEPT=paramiko.transport-module.html#MSG_SERVICE_ACCEPT,Variable paramiko.util.MSG_SERVICE_ACCEPT=paramiko.util-module.html#MSG_SERVICE_ACCEPT"><a title="paramiko.auth_handler.MSG_SERVICE_ACCEPT
-paramiko.channel.MSG_SERVICE_ACCEPT
-paramiko.client.MSG_SERVICE_ACCEPT
-paramiko.common.MSG_SERVICE_ACCEPT
-paramiko.dsskey.MSG_SERVICE_ACCEPT
-paramiko.hostkeys.MSG_SERVICE_ACCEPT
-paramiko.kex_gex.MSG_SERVICE_ACCEPT
-paramiko.kex_group1.MSG_SERVICE_ACCEPT
-paramiko.packet.MSG_SERVICE_ACCEPT
-paramiko.pkey.MSG_SERVICE_ACCEPT
-paramiko.rsakey.MSG_SERVICE_ACCEPT
-paramiko.server.MSG_SERVICE_ACCEPT
-paramiko.sftp.MSG_SERVICE_ACCEPT
-paramiko.sftp_attr.MSG_SERVICE_ACCEPT
-paramiko.sftp_client.MSG_SERVICE_ACCEPT
-paramiko.sftp_file.MSG_SERVICE_ACCEPT
-paramiko.sftp_handle.MSG_SERVICE_ACCEPT
-paramiko.sftp_server.MSG_SERVICE_ACCEPT
-paramiko.sftp_si.MSG_SERVICE_ACCEPT
-paramiko.transport.MSG_SERVICE_ACCEPT
-paramiko.util.MSG_SERVICE_ACCEPT" class="py-name" href="#" onclick="return doclink('link-5', 'MSG_SERVICE_ACCEPT', 'link-5');">MSG_SERVICE_ACCEPT</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable paramiko.auth_handler.MSG_KEXINIT=paramiko.auth_handler-module.html#MSG_KEXINIT,Variable paramiko.channel.MSG_KEXINIT=paramiko.channel-module.html#MSG_KEXINIT,Variable paramiko.client.MSG_KEXINIT=paramiko.client-module.html#MSG_KEXINIT,Variable paramiko.common.MSG_KEXINIT=paramiko.common-module.html#MSG_KEXINIT,Variable paramiko.dsskey.MSG_KEXINIT=paramiko.dsskey-module.html#MSG_KEXINIT,Variable paramiko.hostkeys.MSG_KEXINIT=paramiko.hostkeys-module.html#MSG_KEXINIT,Variable paramiko.kex_gex.MSG_KEXINIT=paramiko.kex_gex-module.html#MSG_KEXINIT,Variable paramiko.kex_group1.MSG_KEXINIT=paramiko.kex_group1-module.html#MSG_KEXINIT,Variable paramiko.packet.MSG_KEXINIT=paramiko.packet-module.html#MSG_KEXINIT,Variable paramiko.pkey.MSG_KEXINIT=paramiko.pkey-module.html#MSG_KEXINIT,Variable paramiko.rsakey.MSG_KEXINIT=paramiko.rsakey-module.html#MSG_KEXINIT,Variable paramiko.server.MSG_KEXINIT=paramiko.server-module.html#MSG_KEXINIT,Variable paramiko.sftp.MSG_KEXINIT=paramiko.sftp-module.html#MSG_KEXINIT,Variable paramiko.sftp_attr.MSG_KEXINIT=paramiko.sftp_attr-module.html#MSG_KEXINIT,Variable paramiko.sftp_client.MSG_KEXINIT=paramiko.sftp_client-module.html#MSG_KEXINIT,Variable paramiko.sftp_file.MSG_KEXINIT=paramiko.sftp_file-module.html#MSG_KEXINIT,Variable paramiko.sftp_handle.MSG_KEXINIT=paramiko.sftp_handle-module.html#MSG_KEXINIT,Variable paramiko.sftp_server.MSG_KEXINIT=paramiko.sftp_server-module.html#MSG_KEXINIT,Variable paramiko.sftp_si.MSG_KEXINIT=paramiko.sftp_si-module.html#MSG_KEXINIT,Variable paramiko.transport.MSG_KEXINIT=paramiko.transport-module.html#MSG_KEXINIT,Variable paramiko.util.MSG_KEXINIT=paramiko.util-module.html#MSG_KEXINIT"><a title="paramiko.auth_handler.MSG_KEXINIT
-paramiko.channel.MSG_KEXINIT
-paramiko.client.MSG_KEXINIT
-paramiko.common.MSG_KEXINIT
-paramiko.dsskey.MSG_KEXINIT
-paramiko.hostkeys.MSG_KEXINIT
-paramiko.kex_gex.MSG_KEXINIT
-paramiko.kex_group1.MSG_KEXINIT
-paramiko.packet.MSG_KEXINIT
-paramiko.pkey.MSG_KEXINIT
-paramiko.rsakey.MSG_KEXINIT
-paramiko.server.MSG_KEXINIT
-paramiko.sftp.MSG_KEXINIT
-paramiko.sftp_attr.MSG_KEXINIT
-paramiko.sftp_client.MSG_KEXINIT
-paramiko.sftp_file.MSG_KEXINIT
-paramiko.sftp_handle.MSG_KEXINIT
-paramiko.sftp_server.MSG_KEXINIT
-paramiko.sftp_si.MSG_KEXINIT
-paramiko.transport.MSG_KEXINIT
-paramiko.util.MSG_KEXINIT" class="py-name" href="#" onclick="return doclink('link-6', 'MSG_KEXINIT', 'link-6');">MSG_KEXINIT</a></tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name" targets="Variable paramiko.auth_handler.MSG_NEWKEYS=paramiko.auth_handler-module.html#MSG_NEWKEYS,Variable paramiko.channel.MSG_NEWKEYS=paramiko.channel-module.html#MSG_NEWKEYS,Variable paramiko.client.MSG_NEWKEYS=paramiko.client-module.html#MSG_NEWKEYS,Variable paramiko.common.MSG_NEWKEYS=paramiko.common-module.html#MSG_NEWKEYS,Variable paramiko.dsskey.MSG_NEWKEYS=paramiko.dsskey-module.html#MSG_NEWKEYS,Variable paramiko.hostkeys.MSG_NEWKEYS=paramiko.hostkeys-module.html#MSG_NEWKEYS,Variable paramiko.kex_gex.MSG_NEWKEYS=paramiko.kex_gex-module.html#MSG_NEWKEYS,Variable paramiko.kex_group1.MSG_NEWKEYS=paramiko.kex_group1-module.html#MSG_NEWKEYS,Variable paramiko.packet.MSG_NEWKEYS=paramiko.packet-module.html#MSG_NEWKEYS,Variable paramiko.pkey.MSG_NEWKEYS=paramiko.pkey-module.html#MSG_NEWKEYS,Variable paramiko.rsakey.MSG_NEWKEYS=paramiko.rsakey-module.html#MSG_NEWKEYS,Variable paramiko.server.MSG_NEWKEYS=paramiko.server-module.html#MSG_NEWKEYS,Variable paramiko.sftp.MSG_NEWKEYS=paramiko.sftp-module.html#MSG_NEWKEYS,Variable paramiko.sftp_attr.MSG_NEWKEYS=paramiko.sftp_attr-module.html#MSG_NEWKEYS,Variable paramiko.sftp_client.MSG_NEWKEYS=paramiko.sftp_client-module.html#MSG_NEWKEYS,Variable paramiko.sftp_file.MSG_NEWKEYS=paramiko.sftp_file-module.html#MSG_NEWKEYS,Variable paramiko.sftp_handle.MSG_NEWKEYS=paramiko.sftp_handle-module.html#MSG_NEWKEYS,Variable paramiko.sftp_server.MSG_NEWKEYS=paramiko.sftp_server-module.html#MSG_NEWKEYS,Variable paramiko.sftp_si.MSG_NEWKEYS=paramiko.sftp_si-module.html#MSG_NEWKEYS,Variable paramiko.transport.MSG_NEWKEYS=paramiko.transport-module.html#MSG_NEWKEYS,Variable paramiko.util.MSG_NEWKEYS=paramiko.util-module.html#MSG_NEWKEYS"><a title="paramiko.auth_handler.MSG_NEWKEYS
-paramiko.channel.MSG_NEWKEYS
-paramiko.client.MSG_NEWKEYS
-paramiko.common.MSG_NEWKEYS
-paramiko.dsskey.MSG_NEWKEYS
-paramiko.hostkeys.MSG_NEWKEYS
-paramiko.kex_gex.MSG_NEWKEYS
-paramiko.kex_group1.MSG_NEWKEYS
-paramiko.packet.MSG_NEWKEYS
-paramiko.pkey.MSG_NEWKEYS
-paramiko.rsakey.MSG_NEWKEYS
-paramiko.server.MSG_NEWKEYS
-paramiko.sftp.MSG_NEWKEYS
-paramiko.sftp_attr.MSG_NEWKEYS
-paramiko.sftp_client.MSG_NEWKEYS
-paramiko.sftp_file.MSG_NEWKEYS
-paramiko.sftp_handle.MSG_NEWKEYS
-paramiko.sftp_server.MSG_NEWKEYS
-paramiko.sftp_si.MSG_NEWKEYS
-paramiko.transport.MSG_NEWKEYS
-paramiko.util.MSG_NEWKEYS" class="py-name" href="#" onclick="return doclink('link-7', 'MSG_NEWKEYS', 'link-7');">MSG_NEWKEYS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">22</tt><tt class="py-op">)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_REQUEST=paramiko.auth_handler-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.channel.MSG_USERAUTH_REQUEST=paramiko.channel-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.client.MSG_USERAUTH_REQUEST=paramiko.client-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.common.MSG_USERAUTH_REQUEST=paramiko.common-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.dsskey.MSG_USERAUTH_REQUEST=paramiko.dsskey-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.hostkeys.MSG_USERAUTH_REQUEST=paramiko.hostkeys-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.kex_gex.MSG_USERAUTH_REQUEST=paramiko.kex_gex-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.kex_group1.MSG_USERAUTH_REQUEST=paramiko.kex_group1-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.packet.MSG_USERAUTH_REQUEST=paramiko.packet-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.pkey.MSG_USERAUTH_REQUEST=paramiko.pkey-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.rsakey.MSG_USERAUTH_REQUEST=paramiko.rsakey-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.server.MSG_USERAUTH_REQUEST=paramiko.server-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp.MSG_USERAUTH_REQUEST=paramiko.sftp-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_attr.MSG_USERAUTH_REQUEST=paramiko.sftp_attr-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_client.MSG_USERAUTH_REQUEST=paramiko.sftp_client-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_file.MSG_USERAUTH_REQUEST=paramiko.sftp_file-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_handle.MSG_USERAUTH_REQUEST=paramiko.sftp_handle-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_server.MSG_USERAUTH_REQUEST=paramiko.sftp_server-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.sftp_si.MSG_USERAUTH_REQUEST=paramiko.sftp_si-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.transport.MSG_USERAUTH_REQUEST=paramiko.transport-module.html#MSG_USERAUTH_REQUEST,Variable paramiko.util.MSG_USERAUTH_REQUEST=paramiko.util-module.html#MSG_USERAUTH_REQUEST"><a title="paramiko.auth_handler.MSG_USERAUTH_REQUEST
-paramiko.channel.MSG_USERAUTH_REQUEST
-paramiko.client.MSG_USERAUTH_REQUEST
-paramiko.common.MSG_USERAUTH_REQUEST
-paramiko.dsskey.MSG_USERAUTH_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_REQUEST
-paramiko.packet.MSG_USERAUTH_REQUEST
-paramiko.pkey.MSG_USERAUTH_REQUEST
-paramiko.rsakey.MSG_USERAUTH_REQUEST
-paramiko.server.MSG_USERAUTH_REQUEST
-paramiko.sftp.MSG_USERAUTH_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_REQUEST
-paramiko.transport.MSG_USERAUTH_REQUEST
-paramiko.util.MSG_USERAUTH_REQUEST" class="py-name" href="#" onclick="return doclink('link-8', 'MSG_USERAUTH_REQUEST', 'link-8');">MSG_USERAUTH_REQUEST</a></tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_FAILURE=paramiko.auth_handler-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.channel.MSG_USERAUTH_FAILURE=paramiko.channel-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.client.MSG_USERAUTH_FAILURE=paramiko.client-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.common.MSG_USERAUTH_FAILURE=paramiko.common-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.dsskey.MSG_USERAUTH_FAILURE=paramiko.dsskey-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.hostkeys.MSG_USERAUTH_FAILURE=paramiko.hostkeys-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.kex_gex.MSG_USERAUTH_FAILURE=paramiko.kex_gex-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.kex_group1.MSG_USERAUTH_FAILURE=paramiko.kex_group1-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.packet.MSG_USERAUTH_FAILURE=paramiko.packet-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.pkey.MSG_USERAUTH_FAILURE=paramiko.pkey-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.rsakey.MSG_USERAUTH_FAILURE=paramiko.rsakey-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.server.MSG_USERAUTH_FAILURE=paramiko.server-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp.MSG_USERAUTH_FAILURE=paramiko.sftp-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_attr.MSG_USERAUTH_FAILURE=paramiko.sftp_attr-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_client.MSG_USERAUTH_FAILURE=paramiko.sftp_client-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_file.MSG_USERAUTH_FAILURE=paramiko.sftp_file-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_handle.MSG_USERAUTH_FAILURE=paramiko.sftp_handle-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_server.MSG_USERAUTH_FAILURE=paramiko.sftp_server-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.sftp_si.MSG_USERAUTH_FAILURE=paramiko.sftp_si-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.transport.MSG_USERAUTH_FAILURE=paramiko.transport-module.html#MSG_USERAUTH_FAILURE,Variable paramiko.util.MSG_USERAUTH_FAILURE=paramiko.util-module.html#MSG_USERAUTH_FAILURE"><a title="paramiko.auth_handler.MSG_USERAUTH_FAILURE
-paramiko.channel.MSG_USERAUTH_FAILURE
-paramiko.client.MSG_USERAUTH_FAILURE
-paramiko.common.MSG_USERAUTH_FAILURE
-paramiko.dsskey.MSG_USERAUTH_FAILURE
-paramiko.hostkeys.MSG_USERAUTH_FAILURE
-paramiko.kex_gex.MSG_USERAUTH_FAILURE
-paramiko.kex_group1.MSG_USERAUTH_FAILURE
-paramiko.packet.MSG_USERAUTH_FAILURE
-paramiko.pkey.MSG_USERAUTH_FAILURE
-paramiko.rsakey.MSG_USERAUTH_FAILURE
-paramiko.server.MSG_USERAUTH_FAILURE
-paramiko.sftp.MSG_USERAUTH_FAILURE
-paramiko.sftp_attr.MSG_USERAUTH_FAILURE
-paramiko.sftp_client.MSG_USERAUTH_FAILURE
-paramiko.sftp_file.MSG_USERAUTH_FAILURE
-paramiko.sftp_handle.MSG_USERAUTH_FAILURE
-paramiko.sftp_server.MSG_USERAUTH_FAILURE
-paramiko.sftp_si.MSG_USERAUTH_FAILURE
-paramiko.transport.MSG_USERAUTH_FAILURE
-paramiko.util.MSG_USERAUTH_FAILURE" class="py-name" href="#" onclick="return doclink('link-9', 'MSG_USERAUTH_FAILURE', 'link-9');">MSG_USERAUTH_FAILURE</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_SUCCESS=paramiko.auth_handler-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.channel.MSG_USERAUTH_SUCCESS=paramiko.channel-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.client.MSG_USERAUTH_SUCCESS=paramiko.client-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.common.MSG_USERAUTH_SUCCESS=paramiko.common-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.dsskey.MSG_USERAUTH_SUCCESS=paramiko.dsskey-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.hostkeys.MSG_USERAUTH_SUCCESS=paramiko.hostkeys-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.kex_gex.MSG_USERAUTH_SUCCESS=paramiko.kex_gex-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.kex_group1.MSG_USERAUTH_SUCCESS=paramiko.kex_group1-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.packet.MSG_USERAUTH_SUCCESS=paramiko.packet-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.pkey.MSG_USERAUTH_SUCCESS=paramiko.pkey-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.rsakey.MSG_USERAUTH_SUCCESS=paramiko.rsakey-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.server.MSG_USERAUTH_SUCCESS=paramiko.server-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp.MSG_USERAUTH_SUCCESS=paramiko.sftp-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_attr.MSG_USERAUTH_SUCCESS=paramiko.sftp_attr-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_client.MSG_USERAUTH_SUCCESS=paramiko.sftp_client-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_file.MSG_USERAUTH_SUCCESS=paramiko.sftp_file-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_handle.MSG_USERAUTH_SUCCESS=paramiko.sftp_handle-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_server.MSG_USERAUTH_SUCCESS=paramiko.sftp_server-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.sftp_si.MSG_USERAUTH_SUCCESS=paramiko.sftp_si-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.transport.MSG_USERAUTH_SUCCESS=paramiko.transport-module.html#MSG_USERAUTH_SUCCESS,Variable paramiko.util.MSG_USERAUTH_SUCCESS=paramiko.util-module.html#MSG_USERAUTH_SUCCESS"><a title="paramiko.auth_handler.MSG_USERAUTH_SUCCESS
-paramiko.channel.MSG_USERAUTH_SUCCESS
-paramiko.client.MSG_USERAUTH_SUCCESS
-paramiko.common.MSG_USERAUTH_SUCCESS
-paramiko.dsskey.MSG_USERAUTH_SUCCESS
-paramiko.hostkeys.MSG_USERAUTH_SUCCESS
-paramiko.kex_gex.MSG_USERAUTH_SUCCESS
-paramiko.kex_group1.MSG_USERAUTH_SUCCESS
-paramiko.packet.MSG_USERAUTH_SUCCESS
-paramiko.pkey.MSG_USERAUTH_SUCCESS
-paramiko.rsakey.MSG_USERAUTH_SUCCESS
-paramiko.server.MSG_USERAUTH_SUCCESS
-paramiko.sftp.MSG_USERAUTH_SUCCESS
-paramiko.sftp_attr.MSG_USERAUTH_SUCCESS
-paramiko.sftp_client.MSG_USERAUTH_SUCCESS
-paramiko.sftp_file.MSG_USERAUTH_SUCCESS
-paramiko.sftp_handle.MSG_USERAUTH_SUCCESS
-paramiko.sftp_server.MSG_USERAUTH_SUCCESS
-paramiko.sftp_si.MSG_USERAUTH_SUCCESS
-paramiko.transport.MSG_USERAUTH_SUCCESS
-paramiko.util.MSG_USERAUTH_SUCCESS" class="py-name" href="#" onclick="return doclink('link-10', 'MSG_USERAUTH_SUCCESS', 'link-10');">MSG_USERAUTH_SUCCESS</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_BANNER=paramiko.auth_handler-module.html#MSG_USERAUTH_BANNER,Variable paramiko.channel.MSG_USERAUTH_BANNER=paramiko.channel-module.html#MSG_USERAUTH_BANNER,Variable paramiko.client.MSG_USERAUTH_BANNER=paramiko.client-module.html#MSG_USERAUTH_BANNER,Variable paramiko.common.MSG_USERAUTH_BANNER=paramiko.common-module.html#MSG_USERAUTH_BANNER,Variable paramiko.dsskey.MSG_USERAUTH_BANNER=paramiko.dsskey-module.html#MSG_USERAUTH_BANNER,Variable paramiko.hostkeys.MSG_USERAUTH_BANNER=paramiko.hostkeys-module.html#MSG_USERAUTH_BANNER,Variable paramiko.kex_gex.MSG_USERAUTH_BANNER=paramiko.kex_gex-module.html#MSG_USERAUTH_BANNER,Variable paramiko.kex_group1.MSG_USERAUTH_BANNER=paramiko.kex_group1-module.html#MSG_USERAUTH_BANNER,Variable paramiko.packet.MSG_USERAUTH_BANNER=paramiko.packet-module.html#MSG_USERAUTH_BANNER,Variable paramiko.pkey.MSG_USERAUTH_BANNER=paramiko.pkey-module.html#MSG_USERAUTH_BANNER,Variable paramiko.rsakey.MSG_USERAUTH_BANNER=paramiko.rsakey-module.html#MSG_USERAUTH_BANNER,Variable paramiko.server.MSG_USERAUTH_BANNER=paramiko.server-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp.MSG_USERAUTH_BANNER=paramiko.sftp-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_attr.MSG_USERAUTH_BANNER=paramiko.sftp_attr-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_client.MSG_USERAUTH_BANNER=paramiko.sftp_client-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_file.MSG_USERAUTH_BANNER=paramiko.sftp_file-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_handle.MSG_USERAUTH_BANNER=paramiko.sftp_handle-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_server.MSG_USERAUTH_BANNER=paramiko.sftp_server-module.html#MSG_USERAUTH_BANNER,Variable paramiko.sftp_si.MSG_USERAUTH_BANNER=paramiko.sftp_si-module.html#MSG_USERAUTH_BANNER,Variable paramiko.transport.MSG_USERAUTH_BANNER=paramiko.transport-module.html#MSG_USERAUTH_BANNER,Variable paramiko.util.MSG_USERAUTH_BANNER=paramiko.util-module.html#MSG_USERAUTH_BANNER"><a title="paramiko.auth_handler.MSG_USERAUTH_BANNER
-paramiko.channel.MSG_USERAUTH_BANNER
-paramiko.client.MSG_USERAUTH_BANNER
-paramiko.common.MSG_USERAUTH_BANNER
-paramiko.dsskey.MSG_USERAUTH_BANNER
-paramiko.hostkeys.MSG_USERAUTH_BANNER
-paramiko.kex_gex.MSG_USERAUTH_BANNER
-paramiko.kex_group1.MSG_USERAUTH_BANNER
-paramiko.packet.MSG_USERAUTH_BANNER
-paramiko.pkey.MSG_USERAUTH_BANNER
-paramiko.rsakey.MSG_USERAUTH_BANNER
-paramiko.server.MSG_USERAUTH_BANNER
-paramiko.sftp.MSG_USERAUTH_BANNER
-paramiko.sftp_attr.MSG_USERAUTH_BANNER
-paramiko.sftp_client.MSG_USERAUTH_BANNER
-paramiko.sftp_file.MSG_USERAUTH_BANNER
-paramiko.sftp_handle.MSG_USERAUTH_BANNER
-paramiko.sftp_server.MSG_USERAUTH_BANNER
-paramiko.sftp_si.MSG_USERAUTH_BANNER
-paramiko.transport.MSG_USERAUTH_BANNER
-paramiko.util.MSG_USERAUTH_BANNER" class="py-name" href="#" onclick="return doclink('link-11', 'MSG_USERAUTH_BANNER', 'link-11');">MSG_USERAUTH_BANNER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">50</tt><tt class="py-op">,</tt> <tt class="py-number">54</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_PK_OK=paramiko.auth_handler-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.channel.MSG_USERAUTH_PK_OK=paramiko.channel-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.client.MSG_USERAUTH_PK_OK=paramiko.client-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.common.MSG_USERAUTH_PK_OK=paramiko.common-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.dsskey.MSG_USERAUTH_PK_OK=paramiko.dsskey-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.hostkeys.MSG_USERAUTH_PK_OK=paramiko.hostkeys-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.kex_gex.MSG_USERAUTH_PK_OK=paramiko.kex_gex-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.kex_group1.MSG_USERAUTH_PK_OK=paramiko.kex_group1-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.packet.MSG_USERAUTH_PK_OK=paramiko.packet-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.pkey.MSG_USERAUTH_PK_OK=paramiko.pkey-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.rsakey.MSG_USERAUTH_PK_OK=paramiko.rsakey-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.server.MSG_USERAUTH_PK_OK=paramiko.server-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp.MSG_USERAUTH_PK_OK=paramiko.sftp-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_attr.MSG_USERAUTH_PK_OK=paramiko.sftp_attr-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_client.MSG_USERAUTH_PK_OK=paramiko.sftp_client-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_file.MSG_USERAUTH_PK_OK=paramiko.sftp_file-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_handle.MSG_USERAUTH_PK_OK=paramiko.sftp_handle-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_server.MSG_USERAUTH_PK_OK=paramiko.sftp_server-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.sftp_si.MSG_USERAUTH_PK_OK=paramiko.sftp_si-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.transport.MSG_USERAUTH_PK_OK=paramiko.transport-module.html#MSG_USERAUTH_PK_OK,Variable paramiko.util.MSG_USERAUTH_PK_OK=paramiko.util-module.html#MSG_USERAUTH_PK_OK"><a title="paramiko.auth_handler.MSG_USERAUTH_PK_OK
-paramiko.channel.MSG_USERAUTH_PK_OK
-paramiko.client.MSG_USERAUTH_PK_OK
-paramiko.common.MSG_USERAUTH_PK_OK
-paramiko.dsskey.MSG_USERAUTH_PK_OK
-paramiko.hostkeys.MSG_USERAUTH_PK_OK
-paramiko.kex_gex.MSG_USERAUTH_PK_OK
-paramiko.kex_group1.MSG_USERAUTH_PK_OK
-paramiko.packet.MSG_USERAUTH_PK_OK
-paramiko.pkey.MSG_USERAUTH_PK_OK
-paramiko.rsakey.MSG_USERAUTH_PK_OK
-paramiko.server.MSG_USERAUTH_PK_OK
-paramiko.sftp.MSG_USERAUTH_PK_OK
-paramiko.sftp_attr.MSG_USERAUTH_PK_OK
-paramiko.sftp_client.MSG_USERAUTH_PK_OK
-paramiko.sftp_file.MSG_USERAUTH_PK_OK
-paramiko.sftp_handle.MSG_USERAUTH_PK_OK
-paramiko.sftp_server.MSG_USERAUTH_PK_OK
-paramiko.sftp_si.MSG_USERAUTH_PK_OK
-paramiko.transport.MSG_USERAUTH_PK_OK
-paramiko.util.MSG_USERAUTH_PK_OK" class="py-name" href="#" onclick="return doclink('link-12', 'MSG_USERAUTH_PK_OK', 'link-12');">MSG_USERAUTH_PK_OK</a></tt> <tt class="py-op">=</tt> <tt class="py-number">60</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_INFO_REQUEST=paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.channel.MSG_USERAUTH_INFO_REQUEST=paramiko.channel-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.client.MSG_USERAUTH_INFO_REQUEST=paramiko.client-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.common.MSG_USERAUTH_INFO_REQUEST=paramiko.common-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.dsskey.MSG_USERAUTH_INFO_REQUEST=paramiko.dsskey-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.hostkeys.MSG_USERAUTH_INFO_REQUEST=paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.kex_gex.MSG_USERAUTH_INFO_REQUEST=paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.kex_group1.MSG_USERAUTH_INFO_REQUEST=paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.packet.MSG_USERAUTH_INFO_REQUEST=paramiko.packet-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.pkey.MSG_USERAUTH_INFO_REQUEST=paramiko.pkey-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.rsakey.MSG_USERAUTH_INFO_REQUEST=paramiko.rsakey-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.server.MSG_USERAUTH_INFO_REQUEST=paramiko.server-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_attr.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_client.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_file.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_handle.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_server.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.sftp_si.MSG_USERAUTH_INFO_REQUEST=paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.transport.MSG_USERAUTH_INFO_REQUEST=paramiko.transport-module.html#MSG_USERAUTH_INFO_REQUEST,Variable paramiko.util.MSG_USERAUTH_INFO_REQUEST=paramiko.util-module.html#MSG_USERAUTH_INFO_REQUEST"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_REQUEST
-paramiko.channel.MSG_USERAUTH_INFO_REQUEST
-paramiko.client.MSG_USERAUTH_INFO_REQUEST
-paramiko.common.MSG_USERAUTH_INFO_REQUEST
-paramiko.dsskey.MSG_USERAUTH_INFO_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_INFO_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_INFO_REQUEST
-paramiko.packet.MSG_USERAUTH_INFO_REQUEST
-paramiko.pkey.MSG_USERAUTH_INFO_REQUEST
-paramiko.rsakey.MSG_USERAUTH_INFO_REQUEST
-paramiko.server.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_INFO_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_INFO_REQUEST
-paramiko.transport.MSG_USERAUTH_INFO_REQUEST
-paramiko.util.MSG_USERAUTH_INFO_REQUEST" class="py-name" href="#" onclick="return doclink('link-13', 'MSG_USERAUTH_INFO_REQUEST', 'link-13');">MSG_USERAUTH_INFO_REQUEST</a></tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name" targets="Variable paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE=paramiko.auth_handler-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.channel.MSG_USERAUTH_INFO_RESPONSE=paramiko.channel-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.client.MSG_USERAUTH_INFO_RESPONSE=paramiko.client-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.common.MSG_USERAUTH_INFO_RESPONSE=paramiko.common-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE=paramiko.dsskey-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE=paramiko.hostkeys-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE=paramiko.kex_gex-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE=paramiko.kex_group1-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.packet.MSG_USERAUTH_INFO_RESPONSE=paramiko.packet-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE=paramiko.pkey-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE=paramiko.rsakey-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.server.MSG_USERAUTH_INFO_RESPONSE=paramiko.server-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_attr-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_client-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_file-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_handle-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_server-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE=paramiko.sftp_si-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.transport.MSG_USERAUTH_INFO_RESPONSE=paramiko.transport-module.html#MSG_USERAUTH_INFO_RESPONSE,Variable paramiko.util.MSG_USERAUTH_INFO_RESPONSE=paramiko.util-module.html#MSG_USERAUTH_INFO_RESPONSE"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE
-paramiko.channel.MSG_USERAUTH_INFO_RESPONSE
-paramiko.client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.common.MSG_USERAUTH_INFO_RESPONSE
-paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE
-paramiko.packet.MSG_USERAUTH_INFO_RESPONSE
-paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE
-paramiko.transport.MSG_USERAUTH_INFO_RESPONSE
-paramiko.util.MSG_USERAUTH_INFO_RESPONSE" class="py-name" href="#" onclick="return doclink('link-14', 'MSG_USERAUTH_INFO_RESPONSE', 'link-14');">MSG_USERAUTH_INFO_RESPONSE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">,</tt> <tt class="py-number">62</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt id="link-15" class="py-name" targets="Variable paramiko.auth_handler.MSG_GLOBAL_REQUEST=paramiko.auth_handler-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.channel.MSG_GLOBAL_REQUEST=paramiko.channel-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.client.MSG_GLOBAL_REQUEST=paramiko.client-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.common.MSG_GLOBAL_REQUEST=paramiko.common-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.dsskey.MSG_GLOBAL_REQUEST=paramiko.dsskey-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.hostkeys.MSG_GLOBAL_REQUEST=paramiko.hostkeys-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.kex_gex.MSG_GLOBAL_REQUEST=paramiko.kex_gex-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.kex_group1.MSG_GLOBAL_REQUEST=paramiko.kex_group1-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.packet.MSG_GLOBAL_REQUEST=paramiko.packet-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.pkey.MSG_GLOBAL_REQUEST=paramiko.pkey-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.rsakey.MSG_GLOBAL_REQUEST=paramiko.rsakey-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.server.MSG_GLOBAL_REQUEST=paramiko.server-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp.MSG_GLOBAL_REQUEST=paramiko.sftp-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_attr.MSG_GLOBAL_REQUEST=paramiko.sftp_attr-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_client.MSG_GLOBAL_REQUEST=paramiko.sftp_client-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_file.MSG_GLOBAL_REQUEST=paramiko.sftp_file-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_handle.MSG_GLOBAL_REQUEST=paramiko.sftp_handle-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_server.MSG_GLOBAL_REQUEST=paramiko.sftp_server-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_si.MSG_GLOBAL_REQUEST=paramiko.sftp_si-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.transport.MSG_GLOBAL_REQUEST=paramiko.transport-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.util.MSG_GLOBAL_REQUEST=paramiko.util-module.html#MSG_GLOBAL_REQUEST"><a title="paramiko.auth_handler.MSG_GLOBAL_REQUEST
-paramiko.channel.MSG_GLOBAL_REQUEST
-paramiko.client.MSG_GLOBAL_REQUEST
-paramiko.common.MSG_GLOBAL_REQUEST
-paramiko.dsskey.MSG_GLOBAL_REQUEST
-paramiko.hostkeys.MSG_GLOBAL_REQUEST
-paramiko.kex_gex.MSG_GLOBAL_REQUEST
-paramiko.kex_group1.MSG_GLOBAL_REQUEST
-paramiko.packet.MSG_GLOBAL_REQUEST
-paramiko.pkey.MSG_GLOBAL_REQUEST
-paramiko.rsakey.MSG_GLOBAL_REQUEST
-paramiko.server.MSG_GLOBAL_REQUEST
-paramiko.sftp.MSG_GLOBAL_REQUEST
-paramiko.sftp_attr.MSG_GLOBAL_REQUEST
-paramiko.sftp_client.MSG_GLOBAL_REQUEST
-paramiko.sftp_file.MSG_GLOBAL_REQUEST
-paramiko.sftp_handle.MSG_GLOBAL_REQUEST
-paramiko.sftp_server.MSG_GLOBAL_REQUEST
-paramiko.sftp_si.MSG_GLOBAL_REQUEST
-paramiko.transport.MSG_GLOBAL_REQUEST
-paramiko.util.MSG_GLOBAL_REQUEST" class="py-name" href="#" onclick="return doclink('link-15', 'MSG_GLOBAL_REQUEST', 'link-15');">MSG_GLOBAL_REQUEST</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name" targets="Variable paramiko.auth_handler.MSG_REQUEST_SUCCESS=paramiko.auth_handler-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.channel.MSG_REQUEST_SUCCESS=paramiko.channel-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.client.MSG_REQUEST_SUCCESS=paramiko.client-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.common.MSG_REQUEST_SUCCESS=paramiko.common-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.dsskey.MSG_REQUEST_SUCCESS=paramiko.dsskey-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.hostkeys.MSG_REQUEST_SUCCESS=paramiko.hostkeys-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.kex_gex.MSG_REQUEST_SUCCESS=paramiko.kex_gex-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.kex_group1.MSG_REQUEST_SUCCESS=paramiko.kex_group1-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.packet.MSG_REQUEST_SUCCESS=paramiko.packet-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.pkey.MSG_REQUEST_SUCCESS=paramiko.pkey-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.rsakey.MSG_REQUEST_SUCCESS=paramiko.rsakey-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.server.MSG_REQUEST_SUCCESS=paramiko.server-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp.MSG_REQUEST_SUCCESS=paramiko.sftp-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_attr.MSG_REQUEST_SUCCESS=paramiko.sftp_attr-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_client.MSG_REQUEST_SUCCESS=paramiko.sftp_client-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_file.MSG_REQUEST_SUCCESS=paramiko.sftp_file-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_handle.MSG_REQUEST_SUCCESS=paramiko.sftp_handle-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_server.MSG_REQUEST_SUCCESS=paramiko.sftp_server-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_si.MSG_REQUEST_SUCCESS=paramiko.sftp_si-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.transport.MSG_REQUEST_SUCCESS=paramiko.transport-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.util.MSG_REQUEST_SUCCESS=paramiko.util-module.html#MSG_REQUEST_SUCCESS"><a title="paramiko.auth_handler.MSG_REQUEST_SUCCESS
-paramiko.channel.MSG_REQUEST_SUCCESS
-paramiko.client.MSG_REQUEST_SUCCESS
-paramiko.common.MSG_REQUEST_SUCCESS
-paramiko.dsskey.MSG_REQUEST_SUCCESS
-paramiko.hostkeys.MSG_REQUEST_SUCCESS
-paramiko.kex_gex.MSG_REQUEST_SUCCESS
-paramiko.kex_group1.MSG_REQUEST_SUCCESS
-paramiko.packet.MSG_REQUEST_SUCCESS
-paramiko.pkey.MSG_REQUEST_SUCCESS
-paramiko.rsakey.MSG_REQUEST_SUCCESS
-paramiko.server.MSG_REQUEST_SUCCESS
-paramiko.sftp.MSG_REQUEST_SUCCESS
-paramiko.sftp_attr.MSG_REQUEST_SUCCESS
-paramiko.sftp_client.MSG_REQUEST_SUCCESS
-paramiko.sftp_file.MSG_REQUEST_SUCCESS
-paramiko.sftp_handle.MSG_REQUEST_SUCCESS
-paramiko.sftp_server.MSG_REQUEST_SUCCESS
-paramiko.sftp_si.MSG_REQUEST_SUCCESS
-paramiko.transport.MSG_REQUEST_SUCCESS
-paramiko.util.MSG_REQUEST_SUCCESS" class="py-name" href="#" onclick="return doclink('link-16', 'MSG_REQUEST_SUCCESS', 'link-16');">MSG_REQUEST_SUCCESS</a></tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name" targets="Variable paramiko.auth_handler.MSG_REQUEST_FAILURE=paramiko.auth_handler-module.html#MSG_REQUEST_FAILURE,Variable paramiko.channel.MSG_REQUEST_FAILURE=paramiko.channel-module.html#MSG_REQUEST_FAILURE,Variable paramiko.client.MSG_REQUEST_FAILURE=paramiko.client-module.html#MSG_REQUEST_FAILURE,Variable paramiko.common.MSG_REQUEST_FAILURE=paramiko.common-module.html#MSG_REQUEST_FAILURE,Variable paramiko.dsskey.MSG_REQUEST_FAILURE=paramiko.dsskey-module.html#MSG_REQUEST_FAILURE,Variable paramiko.hostkeys.MSG_REQUEST_FAILURE=paramiko.hostkeys-module.html#MSG_REQUEST_FAILURE,Variable paramiko.kex_gex.MSG_REQUEST_FAILURE=paramiko.kex_gex-module.html#MSG_REQUEST_FAILURE,Variable paramiko.kex_group1.MSG_REQUEST_FAILURE=paramiko.kex_group1-module.html#MSG_REQUEST_FAILURE,Variable paramiko.packet.MSG_REQUEST_FAILURE=paramiko.packet-module.html#MSG_REQUEST_FAILURE,Variable paramiko.pkey.MSG_REQUEST_FAILURE=paramiko.pkey-module.html#MSG_REQUEST_FAILURE,Variable paramiko.rsakey.MSG_REQUEST_FAILURE=paramiko.rsakey-module.html#MSG_REQUEST_FAILURE,Variable paramiko.server.MSG_REQUEST_FAILURE=paramiko.server-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp.MSG_REQUEST_FAILURE=paramiko.sftp-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_attr.MSG_REQUEST_FAILURE=paramiko.sftp_attr-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_client.MSG_REQUEST_FAILURE=paramiko.sftp_client-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_file.MSG_REQUEST_FAILURE=paramiko.sftp_file-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_handle.MSG_REQUEST_FAILURE=paramiko.sftp_handle-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_server.MSG_REQUEST_FAILURE=paramiko.sftp_server-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_si.MSG_REQUEST_FAILURE=paramiko.sftp_si-module.html#MSG_REQUEST_FAILURE,Variable paramiko.transport.MSG_REQUEST_FAILURE=paramiko.transport-module.html#MSG_REQUEST_FAILURE,Variable paramiko.util.MSG_REQUEST_FAILURE=paramiko.util-module.html#MSG_REQUEST_FAILURE"><a title="paramiko.auth_handler.MSG_REQUEST_FAILURE
-paramiko.channel.MSG_REQUEST_FAILURE
-paramiko.client.MSG_REQUEST_FAILURE
-paramiko.common.MSG_REQUEST_FAILURE
-paramiko.dsskey.MSG_REQUEST_FAILURE
-paramiko.hostkeys.MSG_REQUEST_FAILURE
-paramiko.kex_gex.MSG_REQUEST_FAILURE
-paramiko.kex_group1.MSG_REQUEST_FAILURE
-paramiko.packet.MSG_REQUEST_FAILURE
-paramiko.pkey.MSG_REQUEST_FAILURE
-paramiko.rsakey.MSG_REQUEST_FAILURE
-paramiko.server.MSG_REQUEST_FAILURE
-paramiko.sftp.MSG_REQUEST_FAILURE
-paramiko.sftp_attr.MSG_REQUEST_FAILURE
-paramiko.sftp_client.MSG_REQUEST_FAILURE
-paramiko.sftp_file.MSG_REQUEST_FAILURE
-paramiko.sftp_handle.MSG_REQUEST_FAILURE
-paramiko.sftp_server.MSG_REQUEST_FAILURE
-paramiko.sftp_si.MSG_REQUEST_FAILURE
-paramiko.transport.MSG_REQUEST_FAILURE
-paramiko.util.MSG_REQUEST_FAILURE" class="py-name" href="#" onclick="return doclink('link-17', 'MSG_REQUEST_FAILURE', 'link-17');">MSG_REQUEST_FAILURE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">80</tt><tt class="py-op">,</tt> <tt class="py-number">83</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt id="link-18" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_OPEN=paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN,Variable paramiko.channel.MSG_CHANNEL_OPEN=paramiko.channel-module.html#MSG_CHANNEL_OPEN,Variable paramiko.client.MSG_CHANNEL_OPEN=paramiko.client-module.html#MSG_CHANNEL_OPEN,Variable paramiko.common.MSG_CHANNEL_OPEN=paramiko.common-module.html#MSG_CHANNEL_OPEN,Variable paramiko.dsskey.MSG_CHANNEL_OPEN=paramiko.dsskey-module.html#MSG_CHANNEL_OPEN,Variable paramiko.hostkeys.MSG_CHANNEL_OPEN=paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN,Variable paramiko.kex_gex.MSG_CHANNEL_OPEN=paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN,Variable paramiko.kex_group1.MSG_CHANNEL_OPEN=paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN,Variable paramiko.packet.MSG_CHANNEL_OPEN=paramiko.packet-module.html#MSG_CHANNEL_OPEN,Variable paramiko.pkey.MSG_CHANNEL_OPEN=paramiko.pkey-module.html#MSG_CHANNEL_OPEN,Variable paramiko.rsakey.MSG_CHANNEL_OPEN=paramiko.rsakey-module.html#MSG_CHANNEL_OPEN,Variable paramiko.server.MSG_CHANNEL_OPEN=paramiko.server-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp.MSG_CHANNEL_OPEN=paramiko.sftp-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_attr.MSG_CHANNEL_OPEN=paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_client.MSG_CHANNEL_OPEN=paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_file.MSG_CHANNEL_OPEN=paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_handle.MSG_CHANNEL_OPEN=paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_server.MSG_CHANNEL_OPEN=paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_si.MSG_CHANNEL_OPEN=paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN,Variable paramiko.transport.MSG_CHANNEL_OPEN=paramiko.transport-module.html#MSG_CHANNEL_OPEN,Variable paramiko.util.MSG_CHANNEL_OPEN=paramiko.util-module.html#MSG_CHANNEL_OPEN"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN
-paramiko.channel.MSG_CHANNEL_OPEN
-paramiko.client.MSG_CHANNEL_OPEN
-paramiko.common.MSG_CHANNEL_OPEN
-paramiko.dsskey.MSG_CHANNEL_OPEN
-paramiko.hostkeys.MSG_CHANNEL_OPEN
-paramiko.kex_gex.MSG_CHANNEL_OPEN
-paramiko.kex_group1.MSG_CHANNEL_OPEN
-paramiko.packet.MSG_CHANNEL_OPEN
-paramiko.pkey.MSG_CHANNEL_OPEN
-paramiko.rsakey.MSG_CHANNEL_OPEN
-paramiko.server.MSG_CHANNEL_OPEN
-paramiko.sftp.MSG_CHANNEL_OPEN
-paramiko.sftp_attr.MSG_CHANNEL_OPEN
-paramiko.sftp_client.MSG_CHANNEL_OPEN
-paramiko.sftp_file.MSG_CHANNEL_OPEN
-paramiko.sftp_handle.MSG_CHANNEL_OPEN
-paramiko.sftp_server.MSG_CHANNEL_OPEN
-paramiko.sftp_si.MSG_CHANNEL_OPEN
-paramiko.transport.MSG_CHANNEL_OPEN
-paramiko.util.MSG_CHANNEL_OPEN" class="py-name" href="#" onclick="return doclink('link-18', 'MSG_CHANNEL_OPEN', 'link-18');">MSG_CHANNEL_OPEN</a></tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS=paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS=paramiko.channel-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.client.MSG_CHANNEL_OPEN_SUCCESS=paramiko.client-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.common.MSG_CHANNEL_OPEN_SUCCESS=paramiko.common-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS=paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS=paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS=paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS=paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS=paramiko.packet-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS=paramiko.pkey-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS=paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.server.MSG_CHANNEL_OPEN_SUCCESS=paramiko.server-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS=paramiko.transport-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.util.MSG_CHANNEL_OPEN_SUCCESS=paramiko.util-module.html#MSG_CHANNEL_OPEN_SUCCESS"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.common.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.util.MSG_CHANNEL_OPEN_SUCCESS" class="py-name" href="#" onclick="return doclink('link-19', 'MSG_CHANNEL_OPEN_SUCCESS', 'link-19');">MSG_CHANNEL_OPEN_SUCCESS</a></tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE=paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.channel.MSG_CHANNEL_OPEN_FAILURE=paramiko.channel-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.client.MSG_CHANNEL_OPEN_FAILURE=paramiko.client-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.common.MSG_CHANNEL_OPEN_FAILURE=paramiko.common-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE=paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE=paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE=paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE=paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.packet.MSG_CHANNEL_OPEN_FAILURE=paramiko.packet-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE=paramiko.pkey-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE=paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.server.MSG_CHANNEL_OPEN_FAILURE=paramiko.server-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.transport.MSG_CHANNEL_OPEN_FAILURE=paramiko.transport-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.util.MSG_CHANNEL_OPEN_FAILURE=paramiko.util-module.html#MSG_CHANNEL_OPEN_FAILURE"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE
-paramiko.channel.MSG_CHANNEL_OPEN_FAILURE
-paramiko.client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.common.MSG_CHANNEL_OPEN_FAILURE
-paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE
-paramiko.packet.MSG_CHANNEL_OPEN_FAILURE
-paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE
-paramiko.transport.MSG_CHANNEL_OPEN_FAILURE
-paramiko.util.MSG_CHANNEL_OPEN_FAILURE" class="py-name" href="#" onclick="return doclink('link-20', 'MSG_CHANNEL_OPEN_FAILURE', 'link-20');">MSG_CHANNEL_OPEN_FAILURE</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt id="link-21" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST=paramiko.auth_handler-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST=paramiko.channel-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.client.MSG_CHANNEL_WINDOW_ADJUST=paramiko.client-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.common.MSG_CHANNEL_WINDOW_ADJUST=paramiko.common-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.dsskey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST=paramiko.hostkeys-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST=paramiko.kex_gex-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST=paramiko.kex_group1-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST=paramiko.packet-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.pkey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.rsakey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.server.MSG_CHANNEL_WINDOW_ADJUST=paramiko.server-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_attr-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_client-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_file-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_handle-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_server-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_si-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST=paramiko.transport-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.util.MSG_CHANNEL_WINDOW_ADJUST=paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST"><a title="paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.common.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.util.MSG_CHANNEL_WINDOW_ADJUST" class="py-name" href="#" onclick="return doclink('link-21', 'MSG_CHANNEL_WINDOW_ADJUST', 'link-21');">MSG_CHANNEL_WINDOW_ADJUST</a></tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_DATA=paramiko.auth_handler-module.html#MSG_CHANNEL_DATA,Variable paramiko.channel.MSG_CHANNEL_DATA=paramiko.channel-module.html#MSG_CHANNEL_DATA,Variable paramiko.client.MSG_CHANNEL_DATA=paramiko.client-module.html#MSG_CHANNEL_DATA,Variable paramiko.common.MSG_CHANNEL_DATA=paramiko.common-module.html#MSG_CHANNEL_DATA,Variable paramiko.dsskey.MSG_CHANNEL_DATA=paramiko.dsskey-module.html#MSG_CHANNEL_DATA,Variable paramiko.hostkeys.MSG_CHANNEL_DATA=paramiko.hostkeys-module.html#MSG_CHANNEL_DATA,Variable paramiko.kex_gex.MSG_CHANNEL_DATA=paramiko.kex_gex-module.html#MSG_CHANNEL_DATA,Variable paramiko.kex_group1.MSG_CHANNEL_DATA=paramiko.kex_group1-module.html#MSG_CHANNEL_DATA,Variable paramiko.packet.MSG_CHANNEL_DATA=paramiko.packet-module.html#MSG_CHANNEL_DATA,Variable paramiko.pkey.MSG_CHANNEL_DATA=paramiko.pkey-module.html#MSG_CHANNEL_DATA,Variable paramiko.rsakey.MSG_CHANNEL_DATA=paramiko.rsakey-module.html#MSG_CHANNEL_DATA,Variable paramiko.server.MSG_CHANNEL_DATA=paramiko.server-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp.MSG_CHANNEL_DATA=paramiko.sftp-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_attr.MSG_CHANNEL_DATA=paramiko.sftp_attr-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_client.MSG_CHANNEL_DATA=paramiko.sftp_client-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_file.MSG_CHANNEL_DATA=paramiko.sftp_file-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_handle.MSG_CHANNEL_DATA=paramiko.sftp_handle-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_server.MSG_CHANNEL_DATA=paramiko.sftp_server-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_si.MSG_CHANNEL_DATA=paramiko.sftp_si-module.html#MSG_CHANNEL_DATA,Variable paramiko.transport.MSG_CHANNEL_DATA=paramiko.transport-module.html#MSG_CHANNEL_DATA,Variable paramiko.util.MSG_CHANNEL_DATA=paramiko.util-module.html#MSG_CHANNEL_DATA"><a title="paramiko.auth_handler.MSG_CHANNEL_DATA
-paramiko.channel.MSG_CHANNEL_DATA
-paramiko.client.MSG_CHANNEL_DATA
-paramiko.common.MSG_CHANNEL_DATA
-paramiko.dsskey.MSG_CHANNEL_DATA
-paramiko.hostkeys.MSG_CHANNEL_DATA
-paramiko.kex_gex.MSG_CHANNEL_DATA
-paramiko.kex_group1.MSG_CHANNEL_DATA
-paramiko.packet.MSG_CHANNEL_DATA
-paramiko.pkey.MSG_CHANNEL_DATA
-paramiko.rsakey.MSG_CHANNEL_DATA
-paramiko.server.MSG_CHANNEL_DATA
-paramiko.sftp.MSG_CHANNEL_DATA
-paramiko.sftp_attr.MSG_CHANNEL_DATA
-paramiko.sftp_client.MSG_CHANNEL_DATA
-paramiko.sftp_file.MSG_CHANNEL_DATA
-paramiko.sftp_handle.MSG_CHANNEL_DATA
-paramiko.sftp_server.MSG_CHANNEL_DATA
-paramiko.sftp_si.MSG_CHANNEL_DATA
-paramiko.transport.MSG_CHANNEL_DATA
-paramiko.util.MSG_CHANNEL_DATA" class="py-name" href="#" onclick="return doclink('link-22', 'MSG_CHANNEL_DATA', 'link-22');">MSG_CHANNEL_DATA</a></tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA=paramiko.auth_handler-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.channel.MSG_CHANNEL_EXTENDED_DATA=paramiko.channel-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.client.MSG_CHANNEL_EXTENDED_DATA=paramiko.client-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.common.MSG_CHANNEL_EXTENDED_DATA=paramiko.common-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA=paramiko.dsskey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA=paramiko.hostkeys-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA=paramiko.kex_gex-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA=paramiko.kex_group1-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.packet.MSG_CHANNEL_EXTENDED_DATA=paramiko.packet-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA=paramiko.pkey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA=paramiko.rsakey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.server.MSG_CHANNEL_EXTENDED_DATA=paramiko.server-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_attr-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_client-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_file-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_handle-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_server-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_si-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.transport.MSG_CHANNEL_EXTENDED_DATA=paramiko.transport-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.util.MSG_CHANNEL_EXTENDED_DATA=paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA"><a title="paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA
-paramiko.channel.MSG_CHANNEL_EXTENDED_DATA
-paramiko.client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.common.MSG_CHANNEL_EXTENDED_DATA
-paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA
-paramiko.packet.MSG_CHANNEL_EXTENDED_DATA
-paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA
-paramiko.transport.MSG_CHANNEL_EXTENDED_DATA
-paramiko.util.MSG_CHANNEL_EXTENDED_DATA" class="py-name" href="#" onclick="return doclink('link-23', 'MSG_CHANNEL_EXTENDED_DATA', 'link-23');">MSG_CHANNEL_EXTENDED_DATA</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt id="link-24" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_EOF=paramiko.auth_handler-module.html#MSG_CHANNEL_EOF,Variable paramiko.channel.MSG_CHANNEL_EOF=paramiko.channel-module.html#MSG_CHANNEL_EOF,Variable paramiko.client.MSG_CHANNEL_EOF=paramiko.client-module.html#MSG_CHANNEL_EOF,Variable paramiko.common.MSG_CHANNEL_EOF=paramiko.common-module.html#MSG_CHANNEL_EOF,Variable paramiko.dsskey.MSG_CHANNEL_EOF=paramiko.dsskey-module.html#MSG_CHANNEL_EOF,Variable paramiko.hostkeys.MSG_CHANNEL_EOF=paramiko.hostkeys-module.html#MSG_CHANNEL_EOF,Variable paramiko.kex_gex.MSG_CHANNEL_EOF=paramiko.kex_gex-module.html#MSG_CHANNEL_EOF,Variable paramiko.kex_group1.MSG_CHANNEL_EOF=paramiko.kex_group1-module.html#MSG_CHANNEL_EOF,Variable paramiko.packet.MSG_CHANNEL_EOF=paramiko.packet-module.html#MSG_CHANNEL_EOF,Variable paramiko.pkey.MSG_CHANNEL_EOF=paramiko.pkey-module.html#MSG_CHANNEL_EOF,Variable paramiko.rsakey.MSG_CHANNEL_EOF=paramiko.rsakey-module.html#MSG_CHANNEL_EOF,Variable paramiko.server.MSG_CHANNEL_EOF=paramiko.server-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp.MSG_CHANNEL_EOF=paramiko.sftp-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_attr.MSG_CHANNEL_EOF=paramiko.sftp_attr-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_client.MSG_CHANNEL_EOF=paramiko.sftp_client-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_file.MSG_CHANNEL_EOF=paramiko.sftp_file-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_handle.MSG_CHANNEL_EOF=paramiko.sftp_handle-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_server.MSG_CHANNEL_EOF=paramiko.sftp_server-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_si.MSG_CHANNEL_EOF=paramiko.sftp_si-module.html#MSG_CHANNEL_EOF,Variable paramiko.transport.MSG_CHANNEL_EOF=paramiko.transport-module.html#MSG_CHANNEL_EOF,Variable paramiko.util.MSG_CHANNEL_EOF=paramiko.util-module.html#MSG_CHANNEL_EOF"><a title="paramiko.auth_handler.MSG_CHANNEL_EOF
-paramiko.channel.MSG_CHANNEL_EOF
-paramiko.client.MSG_CHANNEL_EOF
-paramiko.common.MSG_CHANNEL_EOF
-paramiko.dsskey.MSG_CHANNEL_EOF
-paramiko.hostkeys.MSG_CHANNEL_EOF
-paramiko.kex_gex.MSG_CHANNEL_EOF
-paramiko.kex_group1.MSG_CHANNEL_EOF
-paramiko.packet.MSG_CHANNEL_EOF
-paramiko.pkey.MSG_CHANNEL_EOF
-paramiko.rsakey.MSG_CHANNEL_EOF
-paramiko.server.MSG_CHANNEL_EOF
-paramiko.sftp.MSG_CHANNEL_EOF
-paramiko.sftp_attr.MSG_CHANNEL_EOF
-paramiko.sftp_client.MSG_CHANNEL_EOF
-paramiko.sftp_file.MSG_CHANNEL_EOF
-paramiko.sftp_handle.MSG_CHANNEL_EOF
-paramiko.sftp_server.MSG_CHANNEL_EOF
-paramiko.sftp_si.MSG_CHANNEL_EOF
-paramiko.transport.MSG_CHANNEL_EOF
-paramiko.util.MSG_CHANNEL_EOF" class="py-name" href="#" onclick="return doclink('link-24', 'MSG_CHANNEL_EOF', 'link-24');">MSG_CHANNEL_EOF</a></tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_CLOSE=paramiko.auth_handler-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.channel.MSG_CHANNEL_CLOSE=paramiko.channel-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.client.MSG_CHANNEL_CLOSE=paramiko.client-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.common.MSG_CHANNEL_CLOSE=paramiko.common-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.dsskey.MSG_CHANNEL_CLOSE=paramiko.dsskey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.hostkeys.MSG_CHANNEL_CLOSE=paramiko.hostkeys-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.kex_gex.MSG_CHANNEL_CLOSE=paramiko.kex_gex-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.kex_group1.MSG_CHANNEL_CLOSE=paramiko.kex_group1-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.packet.MSG_CHANNEL_CLOSE=paramiko.packet-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.pkey.MSG_CHANNEL_CLOSE=paramiko.pkey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.rsakey.MSG_CHANNEL_CLOSE=paramiko.rsakey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.server.MSG_CHANNEL_CLOSE=paramiko.server-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp.MSG_CHANNEL_CLOSE=paramiko.sftp-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_attr.MSG_CHANNEL_CLOSE=paramiko.sftp_attr-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_client.MSG_CHANNEL_CLOSE=paramiko.sftp_client-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_file.MSG_CHANNEL_CLOSE=paramiko.sftp_file-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_handle.MSG_CHANNEL_CLOSE=paramiko.sftp_handle-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_server.MSG_CHANNEL_CLOSE=paramiko.sftp_server-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_si.MSG_CHANNEL_CLOSE=paramiko.sftp_si-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.transport.MSG_CHANNEL_CLOSE=paramiko.transport-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.util.MSG_CHANNEL_CLOSE=paramiko.util-module.html#MSG_CHANNEL_CLOSE"><a title="paramiko.auth_handler.MSG_CHANNEL_CLOSE
-paramiko.channel.MSG_CHANNEL_CLOSE
-paramiko.client.MSG_CHANNEL_CLOSE
-paramiko.common.MSG_CHANNEL_CLOSE
-paramiko.dsskey.MSG_CHANNEL_CLOSE
-paramiko.hostkeys.MSG_CHANNEL_CLOSE
-paramiko.kex_gex.MSG_CHANNEL_CLOSE
-paramiko.kex_group1.MSG_CHANNEL_CLOSE
-paramiko.packet.MSG_CHANNEL_CLOSE
-paramiko.pkey.MSG_CHANNEL_CLOSE
-paramiko.rsakey.MSG_CHANNEL_CLOSE
-paramiko.server.MSG_CHANNEL_CLOSE
-paramiko.sftp.MSG_CHANNEL_CLOSE
-paramiko.sftp_attr.MSG_CHANNEL_CLOSE
-paramiko.sftp_client.MSG_CHANNEL_CLOSE
-paramiko.sftp_file.MSG_CHANNEL_CLOSE
-paramiko.sftp_handle.MSG_CHANNEL_CLOSE
-paramiko.sftp_server.MSG_CHANNEL_CLOSE
-paramiko.sftp_si.MSG_CHANNEL_CLOSE
-paramiko.transport.MSG_CHANNEL_CLOSE
-paramiko.util.MSG_CHANNEL_CLOSE" class="py-name" href="#" onclick="return doclink('link-25', 'MSG_CHANNEL_CLOSE', 'link-25');">MSG_CHANNEL_CLOSE</a></tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_REQUEST=paramiko.auth_handler-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.channel.MSG_CHANNEL_REQUEST=paramiko.channel-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.client.MSG_CHANNEL_REQUEST=paramiko.client-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.common.MSG_CHANNEL_REQUEST=paramiko.common-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.dsskey.MSG_CHANNEL_REQUEST=paramiko.dsskey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.hostkeys.MSG_CHANNEL_REQUEST=paramiko.hostkeys-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.kex_gex.MSG_CHANNEL_REQUEST=paramiko.kex_gex-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.kex_group1.MSG_CHANNEL_REQUEST=paramiko.kex_group1-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.packet.MSG_CHANNEL_REQUEST=paramiko.packet-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.pkey.MSG_CHANNEL_REQUEST=paramiko.pkey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.rsakey.MSG_CHANNEL_REQUEST=paramiko.rsakey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.server.MSG_CHANNEL_REQUEST=paramiko.server-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp.MSG_CHANNEL_REQUEST=paramiko.sftp-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_attr.MSG_CHANNEL_REQUEST=paramiko.sftp_attr-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_client.MSG_CHANNEL_REQUEST=paramiko.sftp_client-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_file.MSG_CHANNEL_REQUEST=paramiko.sftp_file-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_handle.MSG_CHANNEL_REQUEST=paramiko.sftp_handle-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_server.MSG_CHANNEL_REQUEST=paramiko.sftp_server-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_si.MSG_CHANNEL_REQUEST=paramiko.sftp_si-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.transport.MSG_CHANNEL_REQUEST=paramiko.transport-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.util.MSG_CHANNEL_REQUEST=paramiko.util-module.html#MSG_CHANNEL_REQUEST"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-26', 'MSG_CHANNEL_REQUEST', 'link-26');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt id="link-27" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_SUCCESS=paramiko.auth_handler-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.channel.MSG_CHANNEL_SUCCESS=paramiko.channel-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.client.MSG_CHANNEL_SUCCESS=paramiko.client-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.common.MSG_CHANNEL_SUCCESS=paramiko.common-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.dsskey.MSG_CHANNEL_SUCCESS=paramiko.dsskey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.hostkeys.MSG_CHANNEL_SUCCESS=paramiko.hostkeys-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.kex_gex.MSG_CHANNEL_SUCCESS=paramiko.kex_gex-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.kex_group1.MSG_CHANNEL_SUCCESS=paramiko.kex_group1-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.packet.MSG_CHANNEL_SUCCESS=paramiko.packet-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.pkey.MSG_CHANNEL_SUCCESS=paramiko.pkey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.rsakey.MSG_CHANNEL_SUCCESS=paramiko.rsakey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.server.MSG_CHANNEL_SUCCESS=paramiko.server-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp.MSG_CHANNEL_SUCCESS=paramiko.sftp-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_attr.MSG_CHANNEL_SUCCESS=paramiko.sftp_attr-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_client.MSG_CHANNEL_SUCCESS=paramiko.sftp_client-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_file.MSG_CHANNEL_SUCCESS=paramiko.sftp_file-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_handle.MSG_CHANNEL_SUCCESS=paramiko.sftp_handle-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_server.MSG_CHANNEL_SUCCESS=paramiko.sftp_server-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_si.MSG_CHANNEL_SUCCESS=paramiko.sftp_si-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.transport.MSG_CHANNEL_SUCCESS=paramiko.transport-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.util.MSG_CHANNEL_SUCCESS=paramiko.util-module.html#MSG_CHANNEL_SUCCESS"><a title="paramiko.auth_handler.MSG_CHANNEL_SUCCESS
-paramiko.channel.MSG_CHANNEL_SUCCESS
-paramiko.client.MSG_CHANNEL_SUCCESS
-paramiko.common.MSG_CHANNEL_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_SUCCESS
-paramiko.packet.MSG_CHANNEL_SUCCESS
-paramiko.pkey.MSG_CHANNEL_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_SUCCESS
-paramiko.server.MSG_CHANNEL_SUCCESS
-paramiko.sftp.MSG_CHANNEL_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_SUCCESS
-paramiko.transport.MSG_CHANNEL_SUCCESS
-paramiko.util.MSG_CHANNEL_SUCCESS" class="py-name" href="#" onclick="return doclink('link-27', 'MSG_CHANNEL_SUCCESS', 'link-27');">MSG_CHANNEL_SUCCESS</a></tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_FAILURE=paramiko.auth_handler-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.channel.MSG_CHANNEL_FAILURE=paramiko.channel-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.client.MSG_CHANNEL_FAILURE=paramiko.client-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.common.MSG_CHANNEL_FAILURE=paramiko.common-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.dsskey.MSG_CHANNEL_FAILURE=paramiko.dsskey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.hostkeys.MSG_CHANNEL_FAILURE=paramiko.hostkeys-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.kex_gex.MSG_CHANNEL_FAILURE=paramiko.kex_gex-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.kex_group1.MSG_CHANNEL_FAILURE=paramiko.kex_group1-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.packet.MSG_CHANNEL_FAILURE=paramiko.packet-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.pkey.MSG_CHANNEL_FAILURE=paramiko.pkey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.rsakey.MSG_CHANNEL_FAILURE=paramiko.rsakey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.server.MSG_CHANNEL_FAILURE=paramiko.server-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp.MSG_CHANNEL_FAILURE=paramiko.sftp-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_attr.MSG_CHANNEL_FAILURE=paramiko.sftp_attr-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_client.MSG_CHANNEL_FAILURE=paramiko.sftp_client-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_file.MSG_CHANNEL_FAILURE=paramiko.sftp_file-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_handle.MSG_CHANNEL_FAILURE=paramiko.sftp_handle-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_server.MSG_CHANNEL_FAILURE=paramiko.sftp_server-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_si.MSG_CHANNEL_FAILURE=paramiko.sftp_si-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.transport.MSG_CHANNEL_FAILURE=paramiko.transport-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.util.MSG_CHANNEL_FAILURE=paramiko.util-module.html#MSG_CHANNEL_FAILURE"><a title="paramiko.auth_handler.MSG_CHANNEL_FAILURE
-paramiko.channel.MSG_CHANNEL_FAILURE
-paramiko.client.MSG_CHANNEL_FAILURE
-paramiko.common.MSG_CHANNEL_FAILURE
-paramiko.dsskey.MSG_CHANNEL_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_FAILURE
-paramiko.packet.MSG_CHANNEL_FAILURE
-paramiko.pkey.MSG_CHANNEL_FAILURE
-paramiko.rsakey.MSG_CHANNEL_FAILURE
-paramiko.server.MSG_CHANNEL_FAILURE
-paramiko.sftp.MSG_CHANNEL_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_FAILURE
-paramiko.transport.MSG_CHANNEL_FAILURE
-paramiko.util.MSG_CHANNEL_FAILURE" class="py-name" href="#" onclick="return doclink('link-28', 'MSG_CHANNEL_FAILURE', 'link-28');">MSG_CHANNEL_FAILURE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">90</tt><tt class="py-op">,</tt> <tt class="py-number">101</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-comment"># for debugging:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt id="link-29" class="py-name" targets="Variable paramiko.auth_handler.MSG_NAMES=paramiko.auth_handler-module.html#MSG_NAMES,Variable paramiko.channel.MSG_NAMES=paramiko.channel-module.html#MSG_NAMES,Variable paramiko.client.MSG_NAMES=paramiko.client-module.html#MSG_NAMES,Variable paramiko.common.MSG_NAMES=paramiko.common-module.html#MSG_NAMES,Variable paramiko.dsskey.MSG_NAMES=paramiko.dsskey-module.html#MSG_NAMES,Variable paramiko.hostkeys.MSG_NAMES=paramiko.hostkeys-module.html#MSG_NAMES,Variable paramiko.kex_gex.MSG_NAMES=paramiko.kex_gex-module.html#MSG_NAMES,Variable paramiko.kex_group1.MSG_NAMES=paramiko.kex_group1-module.html#MSG_NAMES,Variable paramiko.packet.MSG_NAMES=paramiko.packet-module.html#MSG_NAMES,Variable paramiko.pkey.MSG_NAMES=paramiko.pkey-module.html#MSG_NAMES,Variable paramiko.rsakey.MSG_NAMES=paramiko.rsakey-module.html#MSG_NAMES,Variable paramiko.server.MSG_NAMES=paramiko.server-module.html#MSG_NAMES,Variable paramiko.sftp.MSG_NAMES=paramiko.sftp-module.html#MSG_NAMES,Variable paramiko.sftp_attr.MSG_NAMES=paramiko.sftp_attr-module.html#MSG_NAMES,Variable paramiko.sftp_client.MSG_NAMES=paramiko.sftp_client-module.html#MSG_NAMES,Variable paramiko.sftp_file.MSG_NAMES=paramiko.sftp_file-module.html#MSG_NAMES,Variable paramiko.sftp_handle.MSG_NAMES=paramiko.sftp_handle-module.html#MSG_NAMES,Variable paramiko.sftp_server.MSG_NAMES=paramiko.sftp_server-module.html#MSG_NAMES,Variable paramiko.sftp_si.MSG_NAMES=paramiko.sftp_si-module.html#MSG_NAMES,Variable paramiko.transport.MSG_NAMES=paramiko.transport-module.html#MSG_NAMES,Variable paramiko.util.MSG_NAMES=paramiko.util-module.html#MSG_NAMES"><a title="paramiko.auth_handler.MSG_NAMES
-paramiko.channel.MSG_NAMES
-paramiko.client.MSG_NAMES
-paramiko.common.MSG_NAMES
-paramiko.dsskey.MSG_NAMES
-paramiko.hostkeys.MSG_NAMES
-paramiko.kex_gex.MSG_NAMES
-paramiko.kex_group1.MSG_NAMES
-paramiko.packet.MSG_NAMES
-paramiko.pkey.MSG_NAMES
-paramiko.rsakey.MSG_NAMES
-paramiko.server.MSG_NAMES
-paramiko.sftp.MSG_NAMES
-paramiko.sftp_attr.MSG_NAMES
-paramiko.sftp_client.MSG_NAMES
-paramiko.sftp_file.MSG_NAMES
-paramiko.sftp_handle.MSG_NAMES
-paramiko.sftp_server.MSG_NAMES
-paramiko.sftp_si.MSG_NAMES
-paramiko.transport.MSG_NAMES
-paramiko.util.MSG_NAMES" class="py-name" href="#" onclick="return doclink('link-29', 'MSG_NAMES', 'link-29');">MSG_NAMES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt id="link-30" class="py-name"><a title="paramiko.auth_handler.MSG_DISCONNECT
-paramiko.channel.MSG_DISCONNECT
-paramiko.client.MSG_DISCONNECT
-paramiko.common.MSG_DISCONNECT
-paramiko.dsskey.MSG_DISCONNECT
-paramiko.hostkeys.MSG_DISCONNECT
-paramiko.kex_gex.MSG_DISCONNECT
-paramiko.kex_group1.MSG_DISCONNECT
-paramiko.packet.MSG_DISCONNECT
-paramiko.pkey.MSG_DISCONNECT
-paramiko.rsakey.MSG_DISCONNECT
-paramiko.server.MSG_DISCONNECT
-paramiko.sftp.MSG_DISCONNECT
-paramiko.sftp_attr.MSG_DISCONNECT
-paramiko.sftp_client.MSG_DISCONNECT
-paramiko.sftp_file.MSG_DISCONNECT
-paramiko.sftp_handle.MSG_DISCONNECT
-paramiko.sftp_server.MSG_DISCONNECT
-paramiko.sftp_si.MSG_DISCONNECT
-paramiko.transport.MSG_DISCONNECT
-paramiko.util.MSG_DISCONNECT" class="py-name" href="#" onclick="return doclink('link-30', 'MSG_DISCONNECT', 'link-0');">MSG_DISCONNECT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'disconnect'</tt><tt class="py-op">,</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt id="link-31" class="py-name"><a title="paramiko.auth_handler.MSG_IGNORE
-paramiko.channel.MSG_IGNORE
-paramiko.client.MSG_IGNORE
-paramiko.common.MSG_IGNORE
-paramiko.dsskey.MSG_IGNORE
-paramiko.hostkeys.MSG_IGNORE
-paramiko.kex_gex.MSG_IGNORE
-paramiko.kex_group1.MSG_IGNORE
-paramiko.packet.MSG_IGNORE
-paramiko.pkey.MSG_IGNORE
-paramiko.rsakey.MSG_IGNORE
-paramiko.server.MSG_IGNORE
-paramiko.sftp.MSG_IGNORE
-paramiko.sftp_attr.MSG_IGNORE
-paramiko.sftp_client.MSG_IGNORE
-paramiko.sftp_file.MSG_IGNORE
-paramiko.sftp_handle.MSG_IGNORE
-paramiko.sftp_server.MSG_IGNORE
-paramiko.sftp_si.MSG_IGNORE
-paramiko.transport.MSG_IGNORE
-paramiko.util.MSG_IGNORE" class="py-name" href="#" onclick="return doclink('link-31', 'MSG_IGNORE', 'link-1');">MSG_IGNORE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'ignore'</tt><tt class="py-op">,</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-32" class="py-name"><a title="paramiko.auth_handler.MSG_UNIMPLEMENTED
-paramiko.channel.MSG_UNIMPLEMENTED
-paramiko.client.MSG_UNIMPLEMENTED
-paramiko.common.MSG_UNIMPLEMENTED
-paramiko.dsskey.MSG_UNIMPLEMENTED
-paramiko.hostkeys.MSG_UNIMPLEMENTED
-paramiko.kex_gex.MSG_UNIMPLEMENTED
-paramiko.kex_group1.MSG_UNIMPLEMENTED
-paramiko.packet.MSG_UNIMPLEMENTED
-paramiko.pkey.MSG_UNIMPLEMENTED
-paramiko.rsakey.MSG_UNIMPLEMENTED
-paramiko.server.MSG_UNIMPLEMENTED
-paramiko.sftp.MSG_UNIMPLEMENTED
-paramiko.sftp_attr.MSG_UNIMPLEMENTED
-paramiko.sftp_client.MSG_UNIMPLEMENTED
-paramiko.sftp_file.MSG_UNIMPLEMENTED
-paramiko.sftp_handle.MSG_UNIMPLEMENTED
-paramiko.sftp_server.MSG_UNIMPLEMENTED
-paramiko.sftp_si.MSG_UNIMPLEMENTED
-paramiko.transport.MSG_UNIMPLEMENTED
-paramiko.util.MSG_UNIMPLEMENTED" class="py-name" href="#" onclick="return doclink('link-32', 'MSG_UNIMPLEMENTED', 'link-2');">MSG_UNIMPLEMENTED</a></tt><tt class="py-op">:</tt> <tt class="py-string">'unimplemented'</tt><tt class="py-op">,</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-33" class="py-name"><a title="paramiko.auth_handler.MSG_DEBUG
-paramiko.channel.MSG_DEBUG
-paramiko.client.MSG_DEBUG
-paramiko.common.MSG_DEBUG
-paramiko.dsskey.MSG_DEBUG
-paramiko.hostkeys.MSG_DEBUG
-paramiko.kex_gex.MSG_DEBUG
-paramiko.kex_group1.MSG_DEBUG
-paramiko.packet.MSG_DEBUG
-paramiko.pkey.MSG_DEBUG
-paramiko.rsakey.MSG_DEBUG
-paramiko.server.MSG_DEBUG
-paramiko.sftp.MSG_DEBUG
-paramiko.sftp_attr.MSG_DEBUG
-paramiko.sftp_client.MSG_DEBUG
-paramiko.sftp_file.MSG_DEBUG
-paramiko.sftp_handle.MSG_DEBUG
-paramiko.sftp_server.MSG_DEBUG
-paramiko.sftp_si.MSG_DEBUG
-paramiko.transport.MSG_DEBUG
-paramiko.util.MSG_DEBUG" class="py-name" href="#" onclick="return doclink('link-33', 'MSG_DEBUG', 'link-3');">MSG_DEBUG</a></tt><tt class="py-op">:</tt> <tt class="py-string">'debug'</tt><tt class="py-op">,</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-34" class="py-name"><a title="paramiko.auth_handler.MSG_SERVICE_REQUEST
-paramiko.channel.MSG_SERVICE_REQUEST
-paramiko.client.MSG_SERVICE_REQUEST
-paramiko.common.MSG_SERVICE_REQUEST
-paramiko.dsskey.MSG_SERVICE_REQUEST
-paramiko.hostkeys.MSG_SERVICE_REQUEST
-paramiko.kex_gex.MSG_SERVICE_REQUEST
-paramiko.kex_group1.MSG_SERVICE_REQUEST
-paramiko.packet.MSG_SERVICE_REQUEST
-paramiko.pkey.MSG_SERVICE_REQUEST
-paramiko.rsakey.MSG_SERVICE_REQUEST
-paramiko.server.MSG_SERVICE_REQUEST
-paramiko.sftp.MSG_SERVICE_REQUEST
-paramiko.sftp_attr.MSG_SERVICE_REQUEST
-paramiko.sftp_client.MSG_SERVICE_REQUEST
-paramiko.sftp_file.MSG_SERVICE_REQUEST
-paramiko.sftp_handle.MSG_SERVICE_REQUEST
-paramiko.sftp_server.MSG_SERVICE_REQUEST
-paramiko.sftp_si.MSG_SERVICE_REQUEST
-paramiko.transport.MSG_SERVICE_REQUEST
-paramiko.util.MSG_SERVICE_REQUEST" class="py-name" href="#" onclick="return doclink('link-34', 'MSG_SERVICE_REQUEST', 'link-4');">MSG_SERVICE_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-string">'service-request'</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-35" class="py-name"><a title="paramiko.auth_handler.MSG_SERVICE_ACCEPT
-paramiko.channel.MSG_SERVICE_ACCEPT
-paramiko.client.MSG_SERVICE_ACCEPT
-paramiko.common.MSG_SERVICE_ACCEPT
-paramiko.dsskey.MSG_SERVICE_ACCEPT
-paramiko.hostkeys.MSG_SERVICE_ACCEPT
-paramiko.kex_gex.MSG_SERVICE_ACCEPT
-paramiko.kex_group1.MSG_SERVICE_ACCEPT
-paramiko.packet.MSG_SERVICE_ACCEPT
-paramiko.pkey.MSG_SERVICE_ACCEPT
-paramiko.rsakey.MSG_SERVICE_ACCEPT
-paramiko.server.MSG_SERVICE_ACCEPT
-paramiko.sftp.MSG_SERVICE_ACCEPT
-paramiko.sftp_attr.MSG_SERVICE_ACCEPT
-paramiko.sftp_client.MSG_SERVICE_ACCEPT
-paramiko.sftp_file.MSG_SERVICE_ACCEPT
-paramiko.sftp_handle.MSG_SERVICE_ACCEPT
-paramiko.sftp_server.MSG_SERVICE_ACCEPT
-paramiko.sftp_si.MSG_SERVICE_ACCEPT
-paramiko.transport.MSG_SERVICE_ACCEPT
-paramiko.util.MSG_SERVICE_ACCEPT" class="py-name" href="#" onclick="return doclink('link-35', 'MSG_SERVICE_ACCEPT', 'link-5');">MSG_SERVICE_ACCEPT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'service-accept'</tt><tt class="py-op">,</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="paramiko.auth_handler.MSG_KEXINIT
-paramiko.channel.MSG_KEXINIT
-paramiko.client.MSG_KEXINIT
-paramiko.common.MSG_KEXINIT
-paramiko.dsskey.MSG_KEXINIT
-paramiko.hostkeys.MSG_KEXINIT
-paramiko.kex_gex.MSG_KEXINIT
-paramiko.kex_group1.MSG_KEXINIT
-paramiko.packet.MSG_KEXINIT
-paramiko.pkey.MSG_KEXINIT
-paramiko.rsakey.MSG_KEXINIT
-paramiko.server.MSG_KEXINIT
-paramiko.sftp.MSG_KEXINIT
-paramiko.sftp_attr.MSG_KEXINIT
-paramiko.sftp_client.MSG_KEXINIT
-paramiko.sftp_file.MSG_KEXINIT
-paramiko.sftp_handle.MSG_KEXINIT
-paramiko.sftp_server.MSG_KEXINIT
-paramiko.sftp_si.MSG_KEXINIT
-paramiko.transport.MSG_KEXINIT
-paramiko.util.MSG_KEXINIT" class="py-name" href="#" onclick="return doclink('link-36', 'MSG_KEXINIT', 'link-6');">MSG_KEXINIT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'kexinit'</tt><tt class="py-op">,</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt id="link-37" class="py-name"><a title="paramiko.auth_handler.MSG_NEWKEYS
-paramiko.channel.MSG_NEWKEYS
-paramiko.client.MSG_NEWKEYS
-paramiko.common.MSG_NEWKEYS
-paramiko.dsskey.MSG_NEWKEYS
-paramiko.hostkeys.MSG_NEWKEYS
-paramiko.kex_gex.MSG_NEWKEYS
-paramiko.kex_group1.MSG_NEWKEYS
-paramiko.packet.MSG_NEWKEYS
-paramiko.pkey.MSG_NEWKEYS
-paramiko.rsakey.MSG_NEWKEYS
-paramiko.server.MSG_NEWKEYS
-paramiko.sftp.MSG_NEWKEYS
-paramiko.sftp_attr.MSG_NEWKEYS
-paramiko.sftp_client.MSG_NEWKEYS
-paramiko.sftp_file.MSG_NEWKEYS
-paramiko.sftp_handle.MSG_NEWKEYS
-paramiko.sftp_server.MSG_NEWKEYS
-paramiko.sftp_si.MSG_NEWKEYS
-paramiko.transport.MSG_NEWKEYS
-paramiko.util.MSG_NEWKEYS" class="py-name" href="#" onclick="return doclink('link-37', 'MSG_NEWKEYS', 'link-7');">MSG_NEWKEYS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'newkeys'</tt><tt class="py-op">,</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-number">30</tt><tt class="py-op">:</tt> <tt class="py-string">'kex30'</tt><tt class="py-op">,</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-number">31</tt><tt class="py-op">:</tt> <tt class="py-string">'kex31'</tt><tt class="py-op">,</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-number">32</tt><tt class="py-op">:</tt> <tt class="py-string">'kex32'</tt><tt class="py-op">,</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-number">33</tt><tt class="py-op">:</tt> <tt class="py-string">'kex33'</tt><tt class="py-op">,</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-number">34</tt><tt class="py-op">:</tt> <tt class="py-string">'kex34'</tt><tt class="py-op">,</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt id="link-38" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_REQUEST
-paramiko.channel.MSG_USERAUTH_REQUEST
-paramiko.client.MSG_USERAUTH_REQUEST
-paramiko.common.MSG_USERAUTH_REQUEST
-paramiko.dsskey.MSG_USERAUTH_REQUEST
-paramiko.hostkeys.MSG_USERAUTH_REQUEST
-paramiko.kex_gex.MSG_USERAUTH_REQUEST
-paramiko.kex_group1.MSG_USERAUTH_REQUEST
-paramiko.packet.MSG_USERAUTH_REQUEST
-paramiko.pkey.MSG_USERAUTH_REQUEST
-paramiko.rsakey.MSG_USERAUTH_REQUEST
-paramiko.server.MSG_USERAUTH_REQUEST
-paramiko.sftp.MSG_USERAUTH_REQUEST
-paramiko.sftp_attr.MSG_USERAUTH_REQUEST
-paramiko.sftp_client.MSG_USERAUTH_REQUEST
-paramiko.sftp_file.MSG_USERAUTH_REQUEST
-paramiko.sftp_handle.MSG_USERAUTH_REQUEST
-paramiko.sftp_server.MSG_USERAUTH_REQUEST
-paramiko.sftp_si.MSG_USERAUTH_REQUEST
-paramiko.transport.MSG_USERAUTH_REQUEST
-paramiko.util.MSG_USERAUTH_REQUEST" class="py-name" href="#" onclick="return doclink('link-38', 'MSG_USERAUTH_REQUEST', 'link-8');">MSG_USERAUTH_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-string">'userauth-request'</tt><tt class="py-op">,</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_FAILURE
-paramiko.channel.MSG_USERAUTH_FAILURE
-paramiko.client.MSG_USERAUTH_FAILURE
-paramiko.common.MSG_USERAUTH_FAILURE
-paramiko.dsskey.MSG_USERAUTH_FAILURE
-paramiko.hostkeys.MSG_USERAUTH_FAILURE
-paramiko.kex_gex.MSG_USERAUTH_FAILURE
-paramiko.kex_group1.MSG_USERAUTH_FAILURE
-paramiko.packet.MSG_USERAUTH_FAILURE
-paramiko.pkey.MSG_USERAUTH_FAILURE
-paramiko.rsakey.MSG_USERAUTH_FAILURE
-paramiko.server.MSG_USERAUTH_FAILURE
-paramiko.sftp.MSG_USERAUTH_FAILURE
-paramiko.sftp_attr.MSG_USERAUTH_FAILURE
-paramiko.sftp_client.MSG_USERAUTH_FAILURE
-paramiko.sftp_file.MSG_USERAUTH_FAILURE
-paramiko.sftp_handle.MSG_USERAUTH_FAILURE
-paramiko.sftp_server.MSG_USERAUTH_FAILURE
-paramiko.sftp_si.MSG_USERAUTH_FAILURE
-paramiko.transport.MSG_USERAUTH_FAILURE
-paramiko.util.MSG_USERAUTH_FAILURE" class="py-name" href="#" onclick="return doclink('link-39', 'MSG_USERAUTH_FAILURE', 'link-9');">MSG_USERAUTH_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'userauth-failure'</tt><tt class="py-op">,</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt id="link-40" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_SUCCESS
-paramiko.channel.MSG_USERAUTH_SUCCESS
-paramiko.client.MSG_USERAUTH_SUCCESS
-paramiko.common.MSG_USERAUTH_SUCCESS
-paramiko.dsskey.MSG_USERAUTH_SUCCESS
-paramiko.hostkeys.MSG_USERAUTH_SUCCESS
-paramiko.kex_gex.MSG_USERAUTH_SUCCESS
-paramiko.kex_group1.MSG_USERAUTH_SUCCESS
-paramiko.packet.MSG_USERAUTH_SUCCESS
-paramiko.pkey.MSG_USERAUTH_SUCCESS
-paramiko.rsakey.MSG_USERAUTH_SUCCESS
-paramiko.server.MSG_USERAUTH_SUCCESS
-paramiko.sftp.MSG_USERAUTH_SUCCESS
-paramiko.sftp_attr.MSG_USERAUTH_SUCCESS
-paramiko.sftp_client.MSG_USERAUTH_SUCCESS
-paramiko.sftp_file.MSG_USERAUTH_SUCCESS
-paramiko.sftp_handle.MSG_USERAUTH_SUCCESS
-paramiko.sftp_server.MSG_USERAUTH_SUCCESS
-paramiko.sftp_si.MSG_USERAUTH_SUCCESS
-paramiko.transport.MSG_USERAUTH_SUCCESS
-paramiko.util.MSG_USERAUTH_SUCCESS" class="py-name" href="#" onclick="return doclink('link-40', 'MSG_USERAUTH_SUCCESS', 'link-10');">MSG_USERAUTH_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'userauth-success'</tt><tt class="py-op">,</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt id="link-41" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_BANNER
-paramiko.channel.MSG_USERAUTH_BANNER
-paramiko.client.MSG_USERAUTH_BANNER
-paramiko.common.MSG_USERAUTH_BANNER
-paramiko.dsskey.MSG_USERAUTH_BANNER
-paramiko.hostkeys.MSG_USERAUTH_BANNER
-paramiko.kex_gex.MSG_USERAUTH_BANNER
-paramiko.kex_group1.MSG_USERAUTH_BANNER
-paramiko.packet.MSG_USERAUTH_BANNER
-paramiko.pkey.MSG_USERAUTH_BANNER
-paramiko.rsakey.MSG_USERAUTH_BANNER
-paramiko.server.MSG_USERAUTH_BANNER
-paramiko.sftp.MSG_USERAUTH_BANNER
-paramiko.sftp_attr.MSG_USERAUTH_BANNER
-paramiko.sftp_client.MSG_USERAUTH_BANNER
-paramiko.sftp_file.MSG_USERAUTH_BANNER
-paramiko.sftp_handle.MSG_USERAUTH_BANNER
-paramiko.sftp_server.MSG_USERAUTH_BANNER
-paramiko.sftp_si.MSG_USERAUTH_BANNER
-paramiko.transport.MSG_USERAUTH_BANNER
-paramiko.util.MSG_USERAUTH_BANNER" class="py-name" href="#" onclick="return doclink('link-41', 'MSG_USERAUTH_BANNER', 'link-11');">MSG_USERAUTH_BANNER</a></tt><tt class="py-op">:</tt> <tt class="py-string">'userauth--banner'</tt><tt class="py-op">,</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt id="link-42" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_PK_OK
-paramiko.channel.MSG_USERAUTH_PK_OK
-paramiko.client.MSG_USERAUTH_PK_OK
-paramiko.common.MSG_USERAUTH_PK_OK
-paramiko.dsskey.MSG_USERAUTH_PK_OK
-paramiko.hostkeys.MSG_USERAUTH_PK_OK
-paramiko.kex_gex.MSG_USERAUTH_PK_OK
-paramiko.kex_group1.MSG_USERAUTH_PK_OK
-paramiko.packet.MSG_USERAUTH_PK_OK
-paramiko.pkey.MSG_USERAUTH_PK_OK
-paramiko.rsakey.MSG_USERAUTH_PK_OK
-paramiko.server.MSG_USERAUTH_PK_OK
-paramiko.sftp.MSG_USERAUTH_PK_OK
-paramiko.sftp_attr.MSG_USERAUTH_PK_OK
-paramiko.sftp_client.MSG_USERAUTH_PK_OK
-paramiko.sftp_file.MSG_USERAUTH_PK_OK
-paramiko.sftp_handle.MSG_USERAUTH_PK_OK
-paramiko.sftp_server.MSG_USERAUTH_PK_OK
-paramiko.sftp_si.MSG_USERAUTH_PK_OK
-paramiko.transport.MSG_USERAUTH_PK_OK
-paramiko.util.MSG_USERAUTH_PK_OK" class="py-name" href="#" onclick="return doclink('link-42', 'MSG_USERAUTH_PK_OK', 'link-12');">MSG_USERAUTH_PK_OK</a></tt><tt class="py-op">:</tt> <tt class="py-string">'userauth-60(pk-ok/info-request)'</tt><tt class="py-op">,</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt id="link-43" class="py-name"><a title="paramiko.auth_handler.MSG_USERAUTH_INFO_RESPONSE
-paramiko.channel.MSG_USERAUTH_INFO_RESPONSE
-paramiko.client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.common.MSG_USERAUTH_INFO_RESPONSE
-paramiko.dsskey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.hostkeys.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_gex.MSG_USERAUTH_INFO_RESPONSE
-paramiko.kex_group1.MSG_USERAUTH_INFO_RESPONSE
-paramiko.packet.MSG_USERAUTH_INFO_RESPONSE
-paramiko.pkey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.rsakey.MSG_USERAUTH_INFO_RESPONSE
-paramiko.server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_attr.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_client.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_file.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_handle.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_server.MSG_USERAUTH_INFO_RESPONSE
-paramiko.sftp_si.MSG_USERAUTH_INFO_RESPONSE
-paramiko.transport.MSG_USERAUTH_INFO_RESPONSE
-paramiko.util.MSG_USERAUTH_INFO_RESPONSE" class="py-name" href="#" onclick="return doclink('link-43', 'MSG_USERAUTH_INFO_RESPONSE', 'link-14');">MSG_USERAUTH_INFO_RESPONSE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'userauth-info-response'</tt><tt class="py-op">,</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt id="link-44" class="py-name"><a title="paramiko.auth_handler.MSG_GLOBAL_REQUEST
-paramiko.channel.MSG_GLOBAL_REQUEST
-paramiko.client.MSG_GLOBAL_REQUEST
-paramiko.common.MSG_GLOBAL_REQUEST
-paramiko.dsskey.MSG_GLOBAL_REQUEST
-paramiko.hostkeys.MSG_GLOBAL_REQUEST
-paramiko.kex_gex.MSG_GLOBAL_REQUEST
-paramiko.kex_group1.MSG_GLOBAL_REQUEST
-paramiko.packet.MSG_GLOBAL_REQUEST
-paramiko.pkey.MSG_GLOBAL_REQUEST
-paramiko.rsakey.MSG_GLOBAL_REQUEST
-paramiko.server.MSG_GLOBAL_REQUEST
-paramiko.sftp.MSG_GLOBAL_REQUEST
-paramiko.sftp_attr.MSG_GLOBAL_REQUEST
-paramiko.sftp_client.MSG_GLOBAL_REQUEST
-paramiko.sftp_file.MSG_GLOBAL_REQUEST
-paramiko.sftp_handle.MSG_GLOBAL_REQUEST
-paramiko.sftp_server.MSG_GLOBAL_REQUEST
-paramiko.sftp_si.MSG_GLOBAL_REQUEST
-paramiko.transport.MSG_GLOBAL_REQUEST
-paramiko.util.MSG_GLOBAL_REQUEST" class="py-name" href="#" onclick="return doclink('link-44', 'MSG_GLOBAL_REQUEST', 'link-15');">MSG_GLOBAL_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-string">'global-request'</tt><tt class="py-op">,</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt id="link-45" class="py-name"><a title="paramiko.auth_handler.MSG_REQUEST_SUCCESS
-paramiko.channel.MSG_REQUEST_SUCCESS
-paramiko.client.MSG_REQUEST_SUCCESS
-paramiko.common.MSG_REQUEST_SUCCESS
-paramiko.dsskey.MSG_REQUEST_SUCCESS
-paramiko.hostkeys.MSG_REQUEST_SUCCESS
-paramiko.kex_gex.MSG_REQUEST_SUCCESS
-paramiko.kex_group1.MSG_REQUEST_SUCCESS
-paramiko.packet.MSG_REQUEST_SUCCESS
-paramiko.pkey.MSG_REQUEST_SUCCESS
-paramiko.rsakey.MSG_REQUEST_SUCCESS
-paramiko.server.MSG_REQUEST_SUCCESS
-paramiko.sftp.MSG_REQUEST_SUCCESS
-paramiko.sftp_attr.MSG_REQUEST_SUCCESS
-paramiko.sftp_client.MSG_REQUEST_SUCCESS
-paramiko.sftp_file.MSG_REQUEST_SUCCESS
-paramiko.sftp_handle.MSG_REQUEST_SUCCESS
-paramiko.sftp_server.MSG_REQUEST_SUCCESS
-paramiko.sftp_si.MSG_REQUEST_SUCCESS
-paramiko.transport.MSG_REQUEST_SUCCESS
-paramiko.util.MSG_REQUEST_SUCCESS" class="py-name" href="#" onclick="return doclink('link-45', 'MSG_REQUEST_SUCCESS', 'link-16');">MSG_REQUEST_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'request-success'</tt><tt class="py-op">,</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt id="link-46" class="py-name"><a title="paramiko.auth_handler.MSG_REQUEST_FAILURE
-paramiko.channel.MSG_REQUEST_FAILURE
-paramiko.client.MSG_REQUEST_FAILURE
-paramiko.common.MSG_REQUEST_FAILURE
-paramiko.dsskey.MSG_REQUEST_FAILURE
-paramiko.hostkeys.MSG_REQUEST_FAILURE
-paramiko.kex_gex.MSG_REQUEST_FAILURE
-paramiko.kex_group1.MSG_REQUEST_FAILURE
-paramiko.packet.MSG_REQUEST_FAILURE
-paramiko.pkey.MSG_REQUEST_FAILURE
-paramiko.rsakey.MSG_REQUEST_FAILURE
-paramiko.server.MSG_REQUEST_FAILURE
-paramiko.sftp.MSG_REQUEST_FAILURE
-paramiko.sftp_attr.MSG_REQUEST_FAILURE
-paramiko.sftp_client.MSG_REQUEST_FAILURE
-paramiko.sftp_file.MSG_REQUEST_FAILURE
-paramiko.sftp_handle.MSG_REQUEST_FAILURE
-paramiko.sftp_server.MSG_REQUEST_FAILURE
-paramiko.sftp_si.MSG_REQUEST_FAILURE
-paramiko.transport.MSG_REQUEST_FAILURE
-paramiko.util.MSG_REQUEST_FAILURE" class="py-name" href="#" onclick="return doclink('link-46', 'MSG_REQUEST_FAILURE', 'link-17');">MSG_REQUEST_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'request-failure'</tt><tt class="py-op">,</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt id="link-47" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN
-paramiko.channel.MSG_CHANNEL_OPEN
-paramiko.client.MSG_CHANNEL_OPEN
-paramiko.common.MSG_CHANNEL_OPEN
-paramiko.dsskey.MSG_CHANNEL_OPEN
-paramiko.hostkeys.MSG_CHANNEL_OPEN
-paramiko.kex_gex.MSG_CHANNEL_OPEN
-paramiko.kex_group1.MSG_CHANNEL_OPEN
-paramiko.packet.MSG_CHANNEL_OPEN
-paramiko.pkey.MSG_CHANNEL_OPEN
-paramiko.rsakey.MSG_CHANNEL_OPEN
-paramiko.server.MSG_CHANNEL_OPEN
-paramiko.sftp.MSG_CHANNEL_OPEN
-paramiko.sftp_attr.MSG_CHANNEL_OPEN
-paramiko.sftp_client.MSG_CHANNEL_OPEN
-paramiko.sftp_file.MSG_CHANNEL_OPEN
-paramiko.sftp_handle.MSG_CHANNEL_OPEN
-paramiko.sftp_server.MSG_CHANNEL_OPEN
-paramiko.sftp_si.MSG_CHANNEL_OPEN
-paramiko.transport.MSG_CHANNEL_OPEN
-paramiko.util.MSG_CHANNEL_OPEN" class="py-name" href="#" onclick="return doclink('link-47', 'MSG_CHANNEL_OPEN', 'link-18');">MSG_CHANNEL_OPEN</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-open'</tt><tt class="py-op">,</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt id="link-48" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.common.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.util.MSG_CHANNEL_OPEN_SUCCESS" class="py-name" href="#" onclick="return doclink('link-48', 'MSG_CHANNEL_OPEN_SUCCESS', 'link-19');">MSG_CHANNEL_OPEN_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-open-success'</tt><tt class="py-op">,</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt id="link-49" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE
-paramiko.channel.MSG_CHANNEL_OPEN_FAILURE
-paramiko.client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.common.MSG_CHANNEL_OPEN_FAILURE
-paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE
-paramiko.packet.MSG_CHANNEL_OPEN_FAILURE
-paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE
-paramiko.transport.MSG_CHANNEL_OPEN_FAILURE
-paramiko.util.MSG_CHANNEL_OPEN_FAILURE" class="py-name" href="#" onclick="return doclink('link-49', 'MSG_CHANNEL_OPEN_FAILURE', 'link-20');">MSG_CHANNEL_OPEN_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-open-failure'</tt><tt class="py-op">,</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt id="link-50" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.common.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.util.MSG_CHANNEL_WINDOW_ADJUST" class="py-name" href="#" onclick="return doclink('link-50', 'MSG_CHANNEL_WINDOW_ADJUST', 'link-21');">MSG_CHANNEL_WINDOW_ADJUST</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-window-adjust'</tt><tt class="py-op">,</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt id="link-51" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_DATA
-paramiko.channel.MSG_CHANNEL_DATA
-paramiko.client.MSG_CHANNEL_DATA
-paramiko.common.MSG_CHANNEL_DATA
-paramiko.dsskey.MSG_CHANNEL_DATA
-paramiko.hostkeys.MSG_CHANNEL_DATA
-paramiko.kex_gex.MSG_CHANNEL_DATA
-paramiko.kex_group1.MSG_CHANNEL_DATA
-paramiko.packet.MSG_CHANNEL_DATA
-paramiko.pkey.MSG_CHANNEL_DATA
-paramiko.rsakey.MSG_CHANNEL_DATA
-paramiko.server.MSG_CHANNEL_DATA
-paramiko.sftp.MSG_CHANNEL_DATA
-paramiko.sftp_attr.MSG_CHANNEL_DATA
-paramiko.sftp_client.MSG_CHANNEL_DATA
-paramiko.sftp_file.MSG_CHANNEL_DATA
-paramiko.sftp_handle.MSG_CHANNEL_DATA
-paramiko.sftp_server.MSG_CHANNEL_DATA
-paramiko.sftp_si.MSG_CHANNEL_DATA
-paramiko.transport.MSG_CHANNEL_DATA
-paramiko.util.MSG_CHANNEL_DATA" class="py-name" href="#" onclick="return doclink('link-51', 'MSG_CHANNEL_DATA', 'link-22');">MSG_CHANNEL_DATA</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-data'</tt><tt class="py-op">,</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt id="link-52" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA
-paramiko.channel.MSG_CHANNEL_EXTENDED_DATA
-paramiko.client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.common.MSG_CHANNEL_EXTENDED_DATA
-paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA
-paramiko.packet.MSG_CHANNEL_EXTENDED_DATA
-paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA
-paramiko.transport.MSG_CHANNEL_EXTENDED_DATA
-paramiko.util.MSG_CHANNEL_EXTENDED_DATA" class="py-name" href="#" onclick="return doclink('link-52', 'MSG_CHANNEL_EXTENDED_DATA', 'link-23');">MSG_CHANNEL_EXTENDED_DATA</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-extended-data'</tt><tt class="py-op">,</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-53" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_EOF
-paramiko.channel.MSG_CHANNEL_EOF
-paramiko.client.MSG_CHANNEL_EOF
-paramiko.common.MSG_CHANNEL_EOF
-paramiko.dsskey.MSG_CHANNEL_EOF
-paramiko.hostkeys.MSG_CHANNEL_EOF
-paramiko.kex_gex.MSG_CHANNEL_EOF
-paramiko.kex_group1.MSG_CHANNEL_EOF
-paramiko.packet.MSG_CHANNEL_EOF
-paramiko.pkey.MSG_CHANNEL_EOF
-paramiko.rsakey.MSG_CHANNEL_EOF
-paramiko.server.MSG_CHANNEL_EOF
-paramiko.sftp.MSG_CHANNEL_EOF
-paramiko.sftp_attr.MSG_CHANNEL_EOF
-paramiko.sftp_client.MSG_CHANNEL_EOF
-paramiko.sftp_file.MSG_CHANNEL_EOF
-paramiko.sftp_handle.MSG_CHANNEL_EOF
-paramiko.sftp_server.MSG_CHANNEL_EOF
-paramiko.sftp_si.MSG_CHANNEL_EOF
-paramiko.transport.MSG_CHANNEL_EOF
-paramiko.util.MSG_CHANNEL_EOF" class="py-name" href="#" onclick="return doclink('link-53', 'MSG_CHANNEL_EOF', 'link-24');">MSG_CHANNEL_EOF</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-eof'</tt><tt class="py-op">,</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt id="link-54" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_CLOSE
-paramiko.channel.MSG_CHANNEL_CLOSE
-paramiko.client.MSG_CHANNEL_CLOSE
-paramiko.common.MSG_CHANNEL_CLOSE
-paramiko.dsskey.MSG_CHANNEL_CLOSE
-paramiko.hostkeys.MSG_CHANNEL_CLOSE
-paramiko.kex_gex.MSG_CHANNEL_CLOSE
-paramiko.kex_group1.MSG_CHANNEL_CLOSE
-paramiko.packet.MSG_CHANNEL_CLOSE
-paramiko.pkey.MSG_CHANNEL_CLOSE
-paramiko.rsakey.MSG_CHANNEL_CLOSE
-paramiko.server.MSG_CHANNEL_CLOSE
-paramiko.sftp.MSG_CHANNEL_CLOSE
-paramiko.sftp_attr.MSG_CHANNEL_CLOSE
-paramiko.sftp_client.MSG_CHANNEL_CLOSE
-paramiko.sftp_file.MSG_CHANNEL_CLOSE
-paramiko.sftp_handle.MSG_CHANNEL_CLOSE
-paramiko.sftp_server.MSG_CHANNEL_CLOSE
-paramiko.sftp_si.MSG_CHANNEL_CLOSE
-paramiko.transport.MSG_CHANNEL_CLOSE
-paramiko.util.MSG_CHANNEL_CLOSE" class="py-name" href="#" onclick="return doclink('link-54', 'MSG_CHANNEL_CLOSE', 'link-25');">MSG_CHANNEL_CLOSE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-close'</tt><tt class="py-op">,</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt id="link-55" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-55', 'MSG_CHANNEL_REQUEST', 'link-26');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-request'</tt><tt class="py-op">,</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt id="link-56" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_SUCCESS
-paramiko.channel.MSG_CHANNEL_SUCCESS
-paramiko.client.MSG_CHANNEL_SUCCESS
-paramiko.common.MSG_CHANNEL_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_SUCCESS
-paramiko.packet.MSG_CHANNEL_SUCCESS
-paramiko.pkey.MSG_CHANNEL_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_SUCCESS
-paramiko.server.MSG_CHANNEL_SUCCESS
-paramiko.sftp.MSG_CHANNEL_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_SUCCESS
-paramiko.transport.MSG_CHANNEL_SUCCESS
-paramiko.util.MSG_CHANNEL_SUCCESS" class="py-name" href="#" onclick="return doclink('link-56', 'MSG_CHANNEL_SUCCESS', 'link-27');">MSG_CHANNEL_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-success'</tt><tt class="py-op">,</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt id="link-57" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_FAILURE
-paramiko.channel.MSG_CHANNEL_FAILURE
-paramiko.client.MSG_CHANNEL_FAILURE
-paramiko.common.MSG_CHANNEL_FAILURE
-paramiko.dsskey.MSG_CHANNEL_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_FAILURE
-paramiko.packet.MSG_CHANNEL_FAILURE
-paramiko.pkey.MSG_CHANNEL_FAILURE
-paramiko.rsakey.MSG_CHANNEL_FAILURE
-paramiko.server.MSG_CHANNEL_FAILURE
-paramiko.sftp.MSG_CHANNEL_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_FAILURE
-paramiko.transport.MSG_CHANNEL_FAILURE
-paramiko.util.MSG_CHANNEL_FAILURE" class="py-name" href="#" onclick="return doclink('link-57', 'MSG_CHANNEL_FAILURE', 'link-28');">MSG_CHANNEL_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'channel-failure'</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-comment"># authentication request return codes:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt id="link-58" class="py-name" targets="Variable paramiko.auth_handler.AUTH_SUCCESSFUL=paramiko.auth_handler-module.html#AUTH_SUCCESSFUL,Variable paramiko.channel.AUTH_SUCCESSFUL=paramiko.channel-module.html#AUTH_SUCCESSFUL,Variable paramiko.client.AUTH_SUCCESSFUL=paramiko.client-module.html#AUTH_SUCCESSFUL,Variable paramiko.common.AUTH_SUCCESSFUL=paramiko.common-module.html#AUTH_SUCCESSFUL,Variable paramiko.dsskey.AUTH_SUCCESSFUL=paramiko.dsskey-module.html#AUTH_SUCCESSFUL,Variable paramiko.hostkeys.AUTH_SUCCESSFUL=paramiko.hostkeys-module.html#AUTH_SUCCESSFUL,Variable paramiko.kex_gex.AUTH_SUCCESSFUL=paramiko.kex_gex-module.html#AUTH_SUCCESSFUL,Variable paramiko.kex_group1.AUTH_SUCCESSFUL=paramiko.kex_group1-module.html#AUTH_SUCCESSFUL,Variable paramiko.packet.AUTH_SUCCESSFUL=paramiko.packet-module.html#AUTH_SUCCESSFUL,Variable paramiko.pkey.AUTH_SUCCESSFUL=paramiko.pkey-module.html#AUTH_SUCCESSFUL,Variable paramiko.rsakey.AUTH_SUCCESSFUL=paramiko.rsakey-module.html#AUTH_SUCCESSFUL,Variable paramiko.server.AUTH_SUCCESSFUL=paramiko.server-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp.AUTH_SUCCESSFUL=paramiko.sftp-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_attr.AUTH_SUCCESSFUL=paramiko.sftp_attr-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_client.AUTH_SUCCESSFUL=paramiko.sftp_client-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_file.AUTH_SUCCESSFUL=paramiko.sftp_file-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_handle.AUTH_SUCCESSFUL=paramiko.sftp_handle-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_server.AUTH_SUCCESSFUL=paramiko.sftp_server-module.html#AUTH_SUCCESSFUL,Variable paramiko.sftp_si.AUTH_SUCCESSFUL=paramiko.sftp_si-module.html#AUTH_SUCCESSFUL,Variable paramiko.transport.AUTH_SUCCESSFUL=paramiko.transport-module.html#AUTH_SUCCESSFUL,Variable paramiko.util.AUTH_SUCCESSFUL=paramiko.util-module.html#AUTH_SUCCESSFUL"><a title="paramiko.auth_handler.AUTH_SUCCESSFUL
-paramiko.channel.AUTH_SUCCESSFUL
-paramiko.client.AUTH_SUCCESSFUL
-paramiko.common.AUTH_SUCCESSFUL
-paramiko.dsskey.AUTH_SUCCESSFUL
-paramiko.hostkeys.AUTH_SUCCESSFUL
-paramiko.kex_gex.AUTH_SUCCESSFUL
-paramiko.kex_group1.AUTH_SUCCESSFUL
-paramiko.packet.AUTH_SUCCESSFUL
-paramiko.pkey.AUTH_SUCCESSFUL
-paramiko.rsakey.AUTH_SUCCESSFUL
-paramiko.server.AUTH_SUCCESSFUL
-paramiko.sftp.AUTH_SUCCESSFUL
-paramiko.sftp_attr.AUTH_SUCCESSFUL
-paramiko.sftp_client.AUTH_SUCCESSFUL
-paramiko.sftp_file.AUTH_SUCCESSFUL
-paramiko.sftp_handle.AUTH_SUCCESSFUL
-paramiko.sftp_server.AUTH_SUCCESSFUL
-paramiko.sftp_si.AUTH_SUCCESSFUL
-paramiko.transport.AUTH_SUCCESSFUL
-paramiko.util.AUTH_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-58', 'AUTH_SUCCESSFUL', 'link-58');">AUTH_SUCCESSFUL</a></tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name" targets="Variable paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL=paramiko.auth_handler-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL=paramiko.channel-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.client.AUTH_PARTIALLY_SUCCESSFUL=paramiko.client-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.common.AUTH_PARTIALLY_SUCCESSFUL=paramiko.common-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.dsskey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL=paramiko.hostkeys-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL=paramiko.kex_gex-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL=paramiko.kex_group1-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL=paramiko.packet-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.pkey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL=paramiko.rsakey-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.server.AUTH_PARTIALLY_SUCCESSFUL=paramiko.server-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_attr-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_client-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_file-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_handle-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_server-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL=paramiko.sftp_si-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL=paramiko.transport-module.html#AUTH_PARTIALLY_SUCCESSFUL,Variable paramiko.util.AUTH_PARTIALLY_SUCCESSFUL=paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL"><a title="paramiko.auth_handler.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.channel.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.client.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.common.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.dsskey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.hostkeys.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_gex.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.kex_group1.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.packet.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.pkey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.rsakey.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.server.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_attr.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_client.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_file.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_handle.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_server.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.sftp_si.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.transport.AUTH_PARTIALLY_SUCCESSFUL
-paramiko.util.AUTH_PARTIALLY_SUCCESSFUL" class="py-name" href="#" onclick="return doclink('link-59', 'AUTH_PARTIALLY_SUCCESSFUL', 'link-59');">AUTH_PARTIALLY_SUCCESSFUL</a></tt><tt class="py-op">,</tt> <tt id="link-60" class="py-name" targets="Variable paramiko.auth_handler.AUTH_FAILED=paramiko.auth_handler-module.html#AUTH_FAILED,Variable paramiko.channel.AUTH_FAILED=paramiko.channel-module.html#AUTH_FAILED,Variable paramiko.client.AUTH_FAILED=paramiko.client-module.html#AUTH_FAILED,Variable paramiko.common.AUTH_FAILED=paramiko.common-module.html#AUTH_FAILED,Variable paramiko.dsskey.AUTH_FAILED=paramiko.dsskey-module.html#AUTH_FAILED,Variable paramiko.hostkeys.AUTH_FAILED=paramiko.hostkeys-module.html#AUTH_FAILED,Variable paramiko.kex_gex.AUTH_FAILED=paramiko.kex_gex-module.html#AUTH_FAILED,Variable paramiko.kex_group1.AUTH_FAILED=paramiko.kex_group1-module.html#AUTH_FAILED,Variable paramiko.packet.AUTH_FAILED=paramiko.packet-module.html#AUTH_FAILED,Variable paramiko.pkey.AUTH_FAILED=paramiko.pkey-module.html#AUTH_FAILED,Variable paramiko.rsakey.AUTH_FAILED=paramiko.rsakey-module.html#AUTH_FAILED,Variable paramiko.server.AUTH_FAILED=paramiko.server-module.html#AUTH_FAILED,Variable paramiko.sftp.AUTH_FAILED=paramiko.sftp-module.html#AUTH_FAILED,Variable paramiko.sftp_attr.AUTH_FAILED=paramiko.sftp_attr-module.html#AUTH_FAILED,Variable paramiko.sftp_client.AUTH_FAILED=paramiko.sftp_client-module.html#AUTH_FAILED,Variable paramiko.sftp_file.AUTH_FAILED=paramiko.sftp_file-module.html#AUTH_FAILED,Variable paramiko.sftp_handle.AUTH_FAILED=paramiko.sftp_handle-module.html#AUTH_FAILED,Variable paramiko.sftp_server.AUTH_FAILED=paramiko.sftp_server-module.html#AUTH_FAILED,Variable paramiko.sftp_si.AUTH_FAILED=paramiko.sftp_si-module.html#AUTH_FAILED,Variable paramiko.transport.AUTH_FAILED=paramiko.transport-module.html#AUTH_FAILED,Variable paramiko.util.AUTH_FAILED=paramiko.util-module.html#AUTH_FAILED"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-60', 'AUTH_FAILED', 'link-60');">AUTH_FAILED</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-comment"># channel request failed reasons:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-op">(</tt><tt id="link-61" class="py-name" targets="Variable paramiko.auth_handler.OPEN_SUCCEEDED=paramiko.auth_handler-module.html#OPEN_SUCCEEDED,Variable paramiko.channel.OPEN_SUCCEEDED=paramiko.channel-module.html#OPEN_SUCCEEDED,Variable paramiko.client.OPEN_SUCCEEDED=paramiko.client-module.html#OPEN_SUCCEEDED,Variable paramiko.common.OPEN_SUCCEEDED=paramiko.common-module.html#OPEN_SUCCEEDED,Variable paramiko.dsskey.OPEN_SUCCEEDED=paramiko.dsskey-module.html#OPEN_SUCCEEDED,Variable paramiko.hostkeys.OPEN_SUCCEEDED=paramiko.hostkeys-module.html#OPEN_SUCCEEDED,Variable paramiko.kex_gex.OPEN_SUCCEEDED=paramiko.kex_gex-module.html#OPEN_SUCCEEDED,Variable paramiko.kex_group1.OPEN_SUCCEEDED=paramiko.kex_group1-module.html#OPEN_SUCCEEDED,Variable paramiko.packet.OPEN_SUCCEEDED=paramiko.packet-module.html#OPEN_SUCCEEDED,Variable paramiko.pkey.OPEN_SUCCEEDED=paramiko.pkey-module.html#OPEN_SUCCEEDED,Variable paramiko.rsakey.OPEN_SUCCEEDED=paramiko.rsakey-module.html#OPEN_SUCCEEDED,Variable paramiko.server.OPEN_SUCCEEDED=paramiko.server-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp.OPEN_SUCCEEDED=paramiko.sftp-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_attr.OPEN_SUCCEEDED=paramiko.sftp_attr-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_client.OPEN_SUCCEEDED=paramiko.sftp_client-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_file.OPEN_SUCCEEDED=paramiko.sftp_file-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_handle.OPEN_SUCCEEDED=paramiko.sftp_handle-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_server.OPEN_SUCCEEDED=paramiko.sftp_server-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_si.OPEN_SUCCEEDED=paramiko.sftp_si-module.html#OPEN_SUCCEEDED,Variable paramiko.transport.OPEN_SUCCEEDED=paramiko.transport-module.html#OPEN_SUCCEEDED,Variable paramiko.util.OPEN_SUCCEEDED=paramiko.util-module.html#OPEN_SUCCEEDED"><a title="paramiko.auth_handler.OPEN_SUCCEEDED
-paramiko.channel.OPEN_SUCCEEDED
-paramiko.client.OPEN_SUCCEEDED
-paramiko.common.OPEN_SUCCEEDED
-paramiko.dsskey.OPEN_SUCCEEDED
-paramiko.hostkeys.OPEN_SUCCEEDED
-paramiko.kex_gex.OPEN_SUCCEEDED
-paramiko.kex_group1.OPEN_SUCCEEDED
-paramiko.packet.OPEN_SUCCEEDED
-paramiko.pkey.OPEN_SUCCEEDED
-paramiko.rsakey.OPEN_SUCCEEDED
-paramiko.server.OPEN_SUCCEEDED
-paramiko.sftp.OPEN_SUCCEEDED
-paramiko.sftp_attr.OPEN_SUCCEEDED
-paramiko.sftp_client.OPEN_SUCCEEDED
-paramiko.sftp_file.OPEN_SUCCEEDED
-paramiko.sftp_handle.OPEN_SUCCEEDED
-paramiko.sftp_server.OPEN_SUCCEEDED
-paramiko.sftp_si.OPEN_SUCCEEDED
-paramiko.transport.OPEN_SUCCEEDED
-paramiko.util.OPEN_SUCCEEDED" class="py-name" href="#" onclick="return doclink('link-61', 'OPEN_SUCCEEDED', 'link-61');">OPEN_SUCCEEDED</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt id="link-62" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.auth_handler-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.channel-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.common-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.dsskey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.hostkeys-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_gex-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_group1-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.packet-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.pkey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.rsakey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_attr-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_file-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_handle-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_si-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.transport-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"><a title="paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED" class="py-name" href="#" onclick="return doclink('link-62', 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED', 'link-62');">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt id="link-63" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_CONNECT_FAILED=paramiko.auth_handler-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.channel.OPEN_FAILED_CONNECT_FAILED=paramiko.channel-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.client.OPEN_FAILED_CONNECT_FAILED=paramiko.client-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.common.OPEN_FAILED_CONNECT_FAILED=paramiko.common-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.dsskey.OPEN_FAILED_CONNECT_FAILED=paramiko.dsskey-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.hostkeys.OPEN_FAILED_CONNECT_FAILED=paramiko.hostkeys-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.kex_gex.OPEN_FAILED_CONNECT_FAILED=paramiko.kex_gex-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.kex_group1.OPEN_FAILED_CONNECT_FAILED=paramiko.kex_group1-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.packet.OPEN_FAILED_CONNECT_FAILED=paramiko.packet-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.pkey.OPEN_FAILED_CONNECT_FAILED=paramiko.pkey-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.rsakey.OPEN_FAILED_CONNECT_FAILED=paramiko.rsakey-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.server.OPEN_FAILED_CONNECT_FAILED=paramiko.server-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_attr.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_attr-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_client.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_client-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_file.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_file-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_handle.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_handle-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_server.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_server-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.sftp_si.OPEN_FAILED_CONNECT_FAILED=paramiko.sftp_si-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.transport.OPEN_FAILED_CONNECT_FAILED=paramiko.transport-module.html#OPEN_FAILED_CONNECT_FAILED,Variable paramiko.util.OPEN_FAILED_CONNECT_FAILED=paramiko.util-module.html#OPEN_FAILED_CONNECT_FAILED"><a title="paramiko.auth_handler.OPEN_FAILED_CONNECT_FAILED
-paramiko.channel.OPEN_FAILED_CONNECT_FAILED
-paramiko.client.OPEN_FAILED_CONNECT_FAILED
-paramiko.common.OPEN_FAILED_CONNECT_FAILED
-paramiko.dsskey.OPEN_FAILED_CONNECT_FAILED
-paramiko.hostkeys.OPEN_FAILED_CONNECT_FAILED
-paramiko.kex_gex.OPEN_FAILED_CONNECT_FAILED
-paramiko.kex_group1.OPEN_FAILED_CONNECT_FAILED
-paramiko.packet.OPEN_FAILED_CONNECT_FAILED
-paramiko.pkey.OPEN_FAILED_CONNECT_FAILED
-paramiko.rsakey.OPEN_FAILED_CONNECT_FAILED
-paramiko.server.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_attr.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_client.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_file.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_handle.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_server.OPEN_FAILED_CONNECT_FAILED
-paramiko.sftp_si.OPEN_FAILED_CONNECT_FAILED
-paramiko.transport.OPEN_FAILED_CONNECT_FAILED
-paramiko.util.OPEN_FAILED_CONNECT_FAILED" class="py-name" href="#" onclick="return doclink('link-63', 'OPEN_FAILED_CONNECT_FAILED', 'link-63');">OPEN_FAILED_CONNECT_FAILED</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-64" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.auth_handler-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.channel.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.channel-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.common.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.common-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.dsskey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.dsskey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.hostkeys.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.hostkeys-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.kex_gex.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.kex_gex-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.kex_group1.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.kex_group1-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.packet.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.packet-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.pkey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.pkey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.rsakey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.rsakey-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_attr.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_attr-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_client-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_file.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_file-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_handle.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_handle-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_server-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.sftp_si.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.sftp_si-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.transport.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.transport-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,Variable paramiko.util.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE=paramiko.util-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"><a title="paramiko.auth_handler.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.channel.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.common.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.dsskey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.hostkeys.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.kex_gex.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.kex_group1.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.packet.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.pkey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.rsakey.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_attr.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_client.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_file.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_handle.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_server.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.sftp_si.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.transport.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE
-paramiko.util.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE" class="py-name" href="#" onclick="return doclink('link-64', 'OPEN_FAILED_UNKNOWN_CHANNEL_TYPE', 'link-64');">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt id="link-65" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.auth_handler-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.channel.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.channel-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.client.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.common.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.common-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.dsskey.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.dsskey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.hostkeys.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.hostkeys-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.kex_gex.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.kex_gex-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.kex_group1.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.kex_group1-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.packet.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.packet-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.pkey.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.pkey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.rsakey.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.rsakey-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.server.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_attr.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_attr-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_client.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_client-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_file.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_file-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_handle.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_handle-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_server.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_server-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.sftp_si.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.sftp_si-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.transport.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.transport-module.html#OPEN_FAILED_RESOURCE_SHORTAGE,Variable paramiko.util.OPEN_FAILED_RESOURCE_SHORTAGE=paramiko.util-module.html#OPEN_FAILED_RESOURCE_SHORTAGE"><a title="paramiko.auth_handler.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.channel.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.client.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.common.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.dsskey.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.hostkeys.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.kex_gex.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.kex_group1.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.packet.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.pkey.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.rsakey.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.server.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_attr.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_client.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_file.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_handle.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_server.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.sftp_si.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.transport.OPEN_FAILED_RESOURCE_SHORTAGE
-paramiko.util.OPEN_FAILED_RESOURCE_SHORTAGE" class="py-name" href="#" onclick="return doclink('link-65', 'OPEN_FAILED_RESOURCE_SHORTAGE', 'link-65');">OPEN_FAILED_RESOURCE_SHORTAGE</a></tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt id="link-66" class="py-name" targets="Variable paramiko.auth_handler.CONNECTION_FAILED_CODE=paramiko.auth_handler-module.html#CONNECTION_FAILED_CODE,Variable paramiko.channel.CONNECTION_FAILED_CODE=paramiko.channel-module.html#CONNECTION_FAILED_CODE,Variable paramiko.client.CONNECTION_FAILED_CODE=paramiko.client-module.html#CONNECTION_FAILED_CODE,Variable paramiko.common.CONNECTION_FAILED_CODE=paramiko.common-module.html#CONNECTION_FAILED_CODE,Variable paramiko.dsskey.CONNECTION_FAILED_CODE=paramiko.dsskey-module.html#CONNECTION_FAILED_CODE,Variable paramiko.hostkeys.CONNECTION_FAILED_CODE=paramiko.hostkeys-module.html#CONNECTION_FAILED_CODE,Variable paramiko.kex_gex.CONNECTION_FAILED_CODE=paramiko.kex_gex-module.html#CONNECTION_FAILED_CODE,Variable paramiko.kex_group1.CONNECTION_FAILED_CODE=paramiko.kex_group1-module.html#CONNECTION_FAILED_CODE,Variable paramiko.packet.CONNECTION_FAILED_CODE=paramiko.packet-module.html#CONNECTION_FAILED_CODE,Variable paramiko.pkey.CONNECTION_FAILED_CODE=paramiko.pkey-module.html#CONNECTION_FAILED_CODE,Variable paramiko.rsakey.CONNECTION_FAILED_CODE=paramiko.rsakey-module.html#CONNECTION_FAILED_CODE,Variable paramiko.server.CONNECTION_FAILED_CODE=paramiko.server-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp.CONNECTION_FAILED_CODE=paramiko.sftp-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_attr.CONNECTION_FAILED_CODE=paramiko.sftp_attr-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_client.CONNECTION_FAILED_CODE=paramiko.sftp_client-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_file.CONNECTION_FAILED_CODE=paramiko.sftp_file-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_handle.CONNECTION_FAILED_CODE=paramiko.sftp_handle-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_server.CONNECTION_FAILED_CODE=paramiko.sftp_server-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_si.CONNECTION_FAILED_CODE=paramiko.sftp_si-module.html#CONNECTION_FAILED_CODE,Variable paramiko.transport.CONNECTION_FAILED_CODE=paramiko.transport-module.html#CONNECTION_FAILED_CODE,Variable paramiko.util.CONNECTION_FAILED_CODE=paramiko.util-module.html#CONNECTION_FAILED_CODE"><a title="paramiko.auth_handler.CONNECTION_FAILED_CODE
-paramiko.channel.CONNECTION_FAILED_CODE
-paramiko.client.CONNECTION_FAILED_CODE
-paramiko.common.CONNECTION_FAILED_CODE
-paramiko.dsskey.CONNECTION_FAILED_CODE
-paramiko.hostkeys.CONNECTION_FAILED_CODE
-paramiko.kex_gex.CONNECTION_FAILED_CODE
-paramiko.kex_group1.CONNECTION_FAILED_CODE
-paramiko.packet.CONNECTION_FAILED_CODE
-paramiko.pkey.CONNECTION_FAILED_CODE
-paramiko.rsakey.CONNECTION_FAILED_CODE
-paramiko.server.CONNECTION_FAILED_CODE
-paramiko.sftp.CONNECTION_FAILED_CODE
-paramiko.sftp_attr.CONNECTION_FAILED_CODE
-paramiko.sftp_client.CONNECTION_FAILED_CODE
-paramiko.sftp_file.CONNECTION_FAILED_CODE
-paramiko.sftp_handle.CONNECTION_FAILED_CODE
-paramiko.sftp_server.CONNECTION_FAILED_CODE
-paramiko.sftp_si.CONNECTION_FAILED_CODE
-paramiko.transport.CONNECTION_FAILED_CODE
-paramiko.util.CONNECTION_FAILED_CODE" class="py-name" href="#" onclick="return doclink('link-66', 'CONNECTION_FAILED_CODE', 'link-66');">CONNECTION_FAILED_CODE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-string">'Administratively prohibited'</tt><tt class="py-op">,</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-string">'Connect failed'</tt><tt class="py-op">,</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-number">3</tt><tt class="py-op">:</tt> <tt class="py-string">'Unknown channel type'</tt><tt class="py-op">,</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-number">4</tt><tt class="py-op">:</tt> <tt class="py-string">'Resource shortage'</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt id="link-67" class="py-name" targets="Variable paramiko.auth_handler.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.auth_handler-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.channel.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.channel-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.client.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.common.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.common-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.dsskey.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.dsskey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.hostkeys.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.hostkeys-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.kex_gex.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.kex_gex-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.kex_group1.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.kex_group1-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.packet.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.packet-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.pkey.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.pkey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.rsakey.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.rsakey-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.server.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_attr.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_attr-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_client.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_client-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_file.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_file-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_handle.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_handle-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_server.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_server-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.sftp_si.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.sftp_si-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.transport.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.transport-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE,Variable paramiko.util.DISCONNECT_SERVICE_NOT_AVAILABLE=paramiko.util-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE"><a title="paramiko.auth_handler.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.channel.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.client.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.common.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.dsskey.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.hostkeys.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.kex_gex.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.kex_group1.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.packet.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.pkey.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.rsakey.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.server.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_attr.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_client.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_file.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_handle.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_server.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.sftp_si.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.transport.DISCONNECT_SERVICE_NOT_AVAILABLE
-paramiko.util.DISCONNECT_SERVICE_NOT_AVAILABLE" class="py-name" href="#" onclick="return doclink('link-67', 'DISCONNECT_SERVICE_NOT_AVAILABLE', 'link-67');">DISCONNECT_SERVICE_NOT_AVAILABLE</a></tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name" targets="Variable paramiko.auth_handler.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.auth_handler-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.channel.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.channel-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.client.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.client-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.common.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.common-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.dsskey.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.dsskey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.hostkeys.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.hostkeys-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.kex_gex.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.kex_gex-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.kex_group1.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.kex_group1-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.packet.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.packet-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.pkey.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.pkey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.rsakey.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.rsakey-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.server.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.server-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp_attr.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp_attr-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp_client.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp_client-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp_file.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp_file-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp_handle.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp_handle-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp_server.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp_server-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.sftp_si.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.sftp_si-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.transport.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.transport-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER,Variable paramiko.util.DISCONNECT_AUTH_CANCELLED_BY_USER=paramiko.util-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER"><a title="paramiko.auth_handler.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.channel.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.client.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.common.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.dsskey.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.hostkeys.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.kex_gex.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.kex_group1.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.packet.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.pkey.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.rsakey.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.server.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_attr.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_client.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_file.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_handle.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_server.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.sftp_si.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.transport.DISCONNECT_AUTH_CANCELLED_BY_USER
-paramiko.util.DISCONNECT_AUTH_CANCELLED_BY_USER" class="py-name" href="#" onclick="return doclink('link-68', 'DISCONNECT_AUTH_CANCELLED_BY_USER', 'link-68');">DISCONNECT_AUTH_CANCELLED_BY_USER</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt id="link-69" class="py-name" targets="Variable paramiko.auth_handler.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.auth_handler-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.channel.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.channel-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.common.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.common-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.dsskey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.dsskey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.hostkeys.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.hostkeys-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.kex_gex.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.kex_gex-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.kex_group1.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.kex_group1-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.packet.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.packet-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.pkey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.pkey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.rsakey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.rsakey-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_attr.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_attr-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_client-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_file.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_file-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_handle.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_handle-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_server-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.sftp_si.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.sftp_si-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.transport.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.transport-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,Variable paramiko.util.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE=paramiko.util-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"><a title="paramiko.auth_handler.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.channel.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.common.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.dsskey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.hostkeys.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.kex_gex.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.kex_group1.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.packet.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.pkey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.rsakey.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_attr.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_client.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_file.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_handle.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_server.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.sftp_si.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.transport.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-paramiko.util.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE" class="py-name" href="#" onclick="return doclink('link-69', 'DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE', 'link-69');">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-number">13</tt><tt class="py-op">,</tt> <tt class="py-number">14</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Random</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-comment"># keep a crypto-strong PRNG nearby</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt id="link-70" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-70', 'rng', 'link-70');">rng</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Random</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-71', 'new', 'link-71');">new</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt> <tt class="py-op">&lt;</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt id="link-72" class="py-name" targets="Module paramiko.logging22=paramiko.logging22-module.html"><a title="paramiko.logging22" class="py-name" href="#" onclick="return doclink('link-72', 'logging22', 'link-72');">logging22</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">select</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt id="link-73" class="py-name" targets="Variable paramiko.auth_handler.PY22=paramiko.auth_handler-module.html#PY22,Variable paramiko.channel.PY22=paramiko.channel-module.html#PY22,Variable paramiko.client.PY22=paramiko.client-module.html#PY22,Variable paramiko.common.PY22=paramiko.common-module.html#PY22,Variable paramiko.dsskey.PY22=paramiko.dsskey-module.html#PY22,Variable paramiko.hostkeys.PY22=paramiko.hostkeys-module.html#PY22,Variable paramiko.kex_gex.PY22=paramiko.kex_gex-module.html#PY22,Variable paramiko.kex_group1.PY22=paramiko.kex_group1-module.html#PY22,Variable paramiko.packet.PY22=paramiko.packet-module.html#PY22,Variable paramiko.pkey.PY22=paramiko.pkey-module.html#PY22,Variable paramiko.rsakey.PY22=paramiko.rsakey-module.html#PY22,Variable paramiko.server.PY22=paramiko.server-module.html#PY22,Variable paramiko.sftp.PY22=paramiko.sftp-module.html#PY22,Variable paramiko.sftp_attr.PY22=paramiko.sftp_attr-module.html#PY22,Variable paramiko.sftp_client.PY22=paramiko.sftp_client-module.html#PY22,Variable paramiko.sftp_file.PY22=paramiko.sftp_file-module.html#PY22,Variable paramiko.sftp_handle.PY22=paramiko.sftp_handle-module.html#PY22,Variable paramiko.sftp_server.PY22=paramiko.sftp_server-module.html#PY22,Variable paramiko.sftp_si.PY22=paramiko.sftp_si-module.html#PY22,Variable paramiko.transport.PY22=paramiko.transport-module.html#PY22,Variable paramiko.util.PY22=paramiko.util-module.html#PY22"><a title="paramiko.auth_handler.PY22
-paramiko.channel.PY22
-paramiko.client.PY22
-paramiko.common.PY22
-paramiko.dsskey.PY22
-paramiko.hostkeys.PY22
-paramiko.kex_gex.PY22
-paramiko.kex_group1.PY22
-paramiko.packet.PY22
-paramiko.pkey.PY22
-paramiko.rsakey.PY22
-paramiko.server.PY22
-paramiko.sftp.PY22
-paramiko.sftp_attr.PY22
-paramiko.sftp_client.PY22
-paramiko.sftp_file.PY22
-paramiko.sftp_handle.PY22
-paramiko.sftp_server.PY22
-paramiko.sftp_si.PY22
-paramiko.transport.PY22
-paramiko.util.PY22" class="py-name" href="#" onclick="return doclink('link-73', 'PY22', 'link-73');">PY22</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">socket</tt><tt class="py-op">,</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="timeout"></a><div id="timeout-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="timeout-toggle" onclick="return toggle('timeout');">-</a><tt class="py-line"> <tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.common.timeout-class.html">timeout</a><tt class="py-op">(</tt><tt class="py-base-class">socket</tt><tt class="py-op">.</tt><tt class="py-base-class">error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">timeout</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt id="link-74" class="py-name"><a title="paramiko.auth_handler.PY22
-paramiko.channel.PY22
-paramiko.client.PY22
-paramiko.common.PY22
-paramiko.dsskey.PY22
-paramiko.hostkeys.PY22
-paramiko.kex_gex.PY22
-paramiko.kex_group1.PY22
-paramiko.packet.PY22
-paramiko.pkey.PY22
-paramiko.rsakey.PY22
-paramiko.server.PY22
-paramiko.sftp.PY22
-paramiko.sftp_attr.PY22
-paramiko.sftp_client.PY22
-paramiko.sftp_file.PY22
-paramiko.sftp_handle.PY22
-paramiko.sftp_server.PY22
-paramiko.sftp_si.PY22
-paramiko.transport.PY22
-paramiko.util.PY22" class="py-name" href="#" onclick="return doclink('link-74', 'PY22', 'link-73');">PY22</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt id="link-75" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-75', 'DEBUG', 'link-75');">DEBUG</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-76', 'DEBUG', 'link-75');">DEBUG</a></tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt id="link-77" class="py-name" targets="Variable paramiko.auth_handler.INFO=paramiko.auth_handler-module.html#INFO,Variable paramiko.channel.INFO=paramiko.channel-module.html#INFO,Variable paramiko.client.INFO=paramiko.client-module.html#INFO,Variable paramiko.common.INFO=paramiko.common-module.html#INFO,Variable paramiko.dsskey.INFO=paramiko.dsskey-module.html#INFO,Variable paramiko.hostkeys.INFO=paramiko.hostkeys-module.html#INFO,Variable paramiko.kex_gex.INFO=paramiko.kex_gex-module.html#INFO,Variable paramiko.kex_group1.INFO=paramiko.kex_group1-module.html#INFO,Variable paramiko.logging22.INFO=paramiko.logging22-module.html#INFO,Variable paramiko.packet.INFO=paramiko.packet-module.html#INFO,Variable paramiko.pkey.INFO=paramiko.pkey-module.html#INFO,Variable paramiko.rsakey.INFO=paramiko.rsakey-module.html#INFO,Variable paramiko.server.INFO=paramiko.server-module.html#INFO,Variable paramiko.sftp.INFO=paramiko.sftp-module.html#INFO,Variable paramiko.sftp_attr.INFO=paramiko.sftp_attr-module.html#INFO,Variable paramiko.sftp_client.INFO=paramiko.sftp_client-module.html#INFO,Variable paramiko.sftp_file.INFO=paramiko.sftp_file-module.html#INFO,Variable paramiko.sftp_handle.INFO=paramiko.sftp_handle-module.html#INFO,Variable paramiko.sftp_server.INFO=paramiko.sftp_server-module.html#INFO,Variable paramiko.sftp_si.INFO=paramiko.sftp_si-module.html#INFO,Variable paramiko.transport.INFO=paramiko.transport-module.html#INFO,Variable paramiko.util.INFO=paramiko.util-module.html#INFO"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-77', 'INFO', 'link-77');">INFO</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-78', 'INFO', 'link-77');">INFO</a></tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt id="link-79" class="py-name" targets="Variable paramiko.auth_handler.WARNING=paramiko.auth_handler-module.html#WARNING,Variable paramiko.channel.WARNING=paramiko.channel-module.html#WARNING,Variable paramiko.client.WARNING=paramiko.client-module.html#WARNING,Variable paramiko.common.WARNING=paramiko.common-module.html#WARNING,Variable paramiko.dsskey.WARNING=paramiko.dsskey-module.html#WARNING,Variable paramiko.hostkeys.WARNING=paramiko.hostkeys-module.html#WARNING,Variable paramiko.kex_gex.WARNING=paramiko.kex_gex-module.html#WARNING,Variable paramiko.kex_group1.WARNING=paramiko.kex_group1-module.html#WARNING,Variable paramiko.logging22.WARNING=paramiko.logging22-module.html#WARNING,Variable paramiko.packet.WARNING=paramiko.packet-module.html#WARNING,Variable paramiko.pkey.WARNING=paramiko.pkey-module.html#WARNING,Variable paramiko.rsakey.WARNING=paramiko.rsakey-module.html#WARNING,Variable paramiko.server.WARNING=paramiko.server-module.html#WARNING,Variable paramiko.sftp.WARNING=paramiko.sftp-module.html#WARNING,Variable paramiko.sftp_attr.WARNING=paramiko.sftp_attr-module.html#WARNING,Variable paramiko.sftp_client.WARNING=paramiko.sftp_client-module.html#WARNING,Variable paramiko.sftp_file.WARNING=paramiko.sftp_file-module.html#WARNING,Variable paramiko.sftp_handle.WARNING=paramiko.sftp_handle-module.html#WARNING,Variable paramiko.sftp_server.WARNING=paramiko.sftp_server-module.html#WARNING,Variable paramiko.sftp_si.WARNING=paramiko.sftp_si-module.html#WARNING,Variable paramiko.transport.WARNING=paramiko.transport-module.html#WARNING,Variable paramiko.util.WARNING=paramiko.util-module.html#WARNING"><a title="paramiko.auth_handler.WARNING
-paramiko.channel.WARNING
-paramiko.client.WARNING
-paramiko.common.WARNING
-paramiko.dsskey.WARNING
-paramiko.hostkeys.WARNING
-paramiko.kex_gex.WARNING
-paramiko.kex_group1.WARNING
-paramiko.logging22.WARNING
-paramiko.packet.WARNING
-paramiko.pkey.WARNING
-paramiko.rsakey.WARNING
-paramiko.server.WARNING
-paramiko.sftp.WARNING
-paramiko.sftp_attr.WARNING
-paramiko.sftp_client.WARNING
-paramiko.sftp_file.WARNING
-paramiko.sftp_handle.WARNING
-paramiko.sftp_server.WARNING
-paramiko.sftp_si.WARNING
-paramiko.transport.WARNING
-paramiko.util.WARNING" class="py-name" href="#" onclick="return doclink('link-79', 'WARNING', 'link-79');">WARNING</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="paramiko.auth_handler.WARNING
-paramiko.channel.WARNING
-paramiko.client.WARNING
-paramiko.common.WARNING
-paramiko.dsskey.WARNING
-paramiko.hostkeys.WARNING
-paramiko.kex_gex.WARNING
-paramiko.kex_group1.WARNING
-paramiko.logging22.WARNING
-paramiko.packet.WARNING
-paramiko.pkey.WARNING
-paramiko.rsakey.WARNING
-paramiko.server.WARNING
-paramiko.sftp.WARNING
-paramiko.sftp_attr.WARNING
-paramiko.sftp_client.WARNING
-paramiko.sftp_file.WARNING
-paramiko.sftp_handle.WARNING
-paramiko.sftp_server.WARNING
-paramiko.sftp_si.WARNING
-paramiko.transport.WARNING
-paramiko.util.WARNING" class="py-name" href="#" onclick="return doclink('link-80', 'WARNING', 'link-79');">WARNING</a></tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt id="link-81" class="py-name" targets="Variable paramiko.auth_handler.ERROR=paramiko.auth_handler-module.html#ERROR,Variable paramiko.channel.ERROR=paramiko.channel-module.html#ERROR,Variable paramiko.client.ERROR=paramiko.client-module.html#ERROR,Variable paramiko.common.ERROR=paramiko.common-module.html#ERROR,Variable paramiko.dsskey.ERROR=paramiko.dsskey-module.html#ERROR,Variable paramiko.hostkeys.ERROR=paramiko.hostkeys-module.html#ERROR,Variable paramiko.kex_gex.ERROR=paramiko.kex_gex-module.html#ERROR,Variable paramiko.kex_group1.ERROR=paramiko.kex_group1-module.html#ERROR,Variable paramiko.logging22.ERROR=paramiko.logging22-module.html#ERROR,Variable paramiko.packet.ERROR=paramiko.packet-module.html#ERROR,Variable paramiko.pkey.ERROR=paramiko.pkey-module.html#ERROR,Variable paramiko.rsakey.ERROR=paramiko.rsakey-module.html#ERROR,Variable paramiko.server.ERROR=paramiko.server-module.html#ERROR,Variable paramiko.sftp.ERROR=paramiko.sftp-module.html#ERROR,Variable paramiko.sftp_attr.ERROR=paramiko.sftp_attr-module.html#ERROR,Variable paramiko.sftp_client.ERROR=paramiko.sftp_client-module.html#ERROR,Variable paramiko.sftp_file.ERROR=paramiko.sftp_file-module.html#ERROR,Variable paramiko.sftp_handle.ERROR=paramiko.sftp_handle-module.html#ERROR,Variable paramiko.sftp_server.ERROR=paramiko.sftp_server-module.html#ERROR,Variable paramiko.sftp_si.ERROR=paramiko.sftp_si-module.html#ERROR,Variable paramiko.transport.ERROR=paramiko.transport-module.html#ERROR,Variable paramiko.util.ERROR=paramiko.util-module.html#ERROR"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-81', 'ERROR', 'link-81');">ERROR</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-82', 'ERROR', 'link-81');">ERROR</a></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt id="link-83" class="py-name" targets="Variable paramiko.auth_handler.CRITICAL=paramiko.auth_handler-module.html#CRITICAL,Variable paramiko.channel.CRITICAL=paramiko.channel-module.html#CRITICAL,Variable paramiko.client.CRITICAL=paramiko.client-module.html#CRITICAL,Variable paramiko.common.CRITICAL=paramiko.common-module.html#CRITICAL,Variable paramiko.dsskey.CRITICAL=paramiko.dsskey-module.html#CRITICAL,Variable paramiko.hostkeys.CRITICAL=paramiko.hostkeys-module.html#CRITICAL,Variable paramiko.kex_gex.CRITICAL=paramiko.kex_gex-module.html#CRITICAL,Variable paramiko.kex_group1.CRITICAL=paramiko.kex_group1-module.html#CRITICAL,Variable paramiko.logging22.CRITICAL=paramiko.logging22-module.html#CRITICAL,Variable paramiko.packet.CRITICAL=paramiko.packet-module.html#CRITICAL,Variable paramiko.pkey.CRITICAL=paramiko.pkey-module.html#CRITICAL,Variable paramiko.rsakey.CRITICAL=paramiko.rsakey-module.html#CRITICAL,Variable paramiko.server.CRITICAL=paramiko.server-module.html#CRITICAL,Variable paramiko.sftp.CRITICAL=paramiko.sftp-module.html#CRITICAL,Variable paramiko.sftp_attr.CRITICAL=paramiko.sftp_attr-module.html#CRITICAL,Variable paramiko.sftp_client.CRITICAL=paramiko.sftp_client-module.html#CRITICAL,Variable paramiko.sftp_file.CRITICAL=paramiko.sftp_file-module.html#CRITICAL,Variable paramiko.sftp_handle.CRITICAL=paramiko.sftp_handle-module.html#CRITICAL,Variable paramiko.sftp_server.CRITICAL=paramiko.sftp_server-module.html#CRITICAL,Variable paramiko.sftp_si.CRITICAL=paramiko.sftp_si-module.html#CRITICAL,Variable paramiko.transport.CRITICAL=paramiko.transport-module.html#CRITICAL,Variable paramiko.util.CRITICAL=paramiko.util-module.html#CRITICAL"><a title="paramiko.auth_handler.CRITICAL
-paramiko.channel.CRITICAL
-paramiko.client.CRITICAL
-paramiko.common.CRITICAL
-paramiko.dsskey.CRITICAL
-paramiko.hostkeys.CRITICAL
-paramiko.kex_gex.CRITICAL
-paramiko.kex_group1.CRITICAL
-paramiko.logging22.CRITICAL
-paramiko.packet.CRITICAL
-paramiko.pkey.CRITICAL
-paramiko.rsakey.CRITICAL
-paramiko.server.CRITICAL
-paramiko.sftp.CRITICAL
-paramiko.sftp_attr.CRITICAL
-paramiko.sftp_client.CRITICAL
-paramiko.sftp_file.CRITICAL
-paramiko.sftp_handle.CRITICAL
-paramiko.sftp_server.CRITICAL
-paramiko.sftp_si.CRITICAL
-paramiko.transport.CRITICAL
-paramiko.util.CRITICAL" class="py-name" href="#" onclick="return doclink('link-83', 'CRITICAL', 'link-83');">CRITICAL</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="paramiko.auth_handler.CRITICAL
-paramiko.channel.CRITICAL
-paramiko.client.CRITICAL
-paramiko.common.CRITICAL
-paramiko.dsskey.CRITICAL
-paramiko.hostkeys.CRITICAL
-paramiko.kex_gex.CRITICAL
-paramiko.kex_group1.CRITICAL
-paramiko.logging22.CRITICAL
-paramiko.packet.CRITICAL
-paramiko.pkey.CRITICAL
-paramiko.rsakey.CRITICAL
-paramiko.server.CRITICAL
-paramiko.sftp.CRITICAL
-paramiko.sftp_attr.CRITICAL
-paramiko.sftp_client.CRITICAL
-paramiko.sftp_file.CRITICAL
-paramiko.sftp_handle.CRITICAL
-paramiko.sftp_server.CRITICAL
-paramiko.sftp_si.CRITICAL
-paramiko.transport.CRITICAL
-paramiko.util.CRITICAL" class="py-name" href="#" onclick="return doclink('link-84', 'CRITICAL', 'link-83');">CRITICAL</a></tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.compress-module.html b/docs/paramiko.compress-module.html
deleted file mode 100644
index 0a003a7..0000000
--- a/docs/paramiko.compress-module.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.compress</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;compress
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.compress-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module compress</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.compress-pysrc.html">source&nbsp;code</a></span></p>
-<p>Compression implementations for a Transport.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.compress.ZlibCompressor-class.html" class="summary-name">ZlibCompressor</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.compress.ZlibDecompressor-class.html" class="summary-name">ZlibDecompressor</a>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.compress-pysrc.html b/docs/paramiko.compress-pysrc.html
deleted file mode 100644
index f19033f..0000000
--- a/docs/paramiko.compress-pysrc.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.compress</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;compress
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.compress-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.compress-module.html" onclick="show_private();">Module paramiko.compress</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-docstring">Compression implementations for a Transport.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">zlib</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
-<a name="ZlibCompressor"></a><div id="ZlibCompressor-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="ZlibCompressor-toggle" onclick="return toggle('ZlibCompressor');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.compress.ZlibCompressor-class.html">ZlibCompressor</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ZlibCompressor-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ZlibCompressor-expanded"><a name="ZlibCompressor.__init__"></a><div id="ZlibCompressor.__init__-def"><a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="ZlibCompressor.__init__-toggle" onclick="return toggle('ZlibCompressor.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.compress.ZlibCompressor-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ZlibCompressor.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ZlibCompressor.__init__-expanded"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt class="py-name">zlib</tt><tt class="py-op">.</tt><tt class="py-name">compressobj</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
-<a name="ZlibCompressor.__call__"></a><div id="ZlibCompressor.__call__-def"><a name="L30"></a><tt class="py-lineno">30</tt> <a class="py-toggle" href="#" id="ZlibCompressor.__call__-toggle" onclick="return toggle('ZlibCompressor.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.compress.ZlibCompressor-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ZlibCompressor.__call__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ZlibCompressor.__call__-expanded"><a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">z</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Module paramiko.compress=paramiko.compress-module.html"><a title="paramiko.compress" class="py-name" href="#" onclick="return doclink('link-0', 'compress', 'link-0');">compress</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">z</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method paramiko.BufferedFile.flush()=paramiko.BufferedFile-class.html#flush"><a title="paramiko.BufferedFile.flush" class="py-name" href="#" onclick="return doclink('link-1', 'flush', 'link-1');">flush</a></tt><tt class="py-op">(</tt><tt class="py-name">zlib</tt><tt class="py-op">.</tt><tt class="py-name">Z_FULL_FLUSH</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
-<a name="ZlibDecompressor"></a><div id="ZlibDecompressor-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="ZlibDecompressor-toggle" onclick="return toggle('ZlibDecompressor');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.compress.ZlibDecompressor-class.html">ZlibDecompressor</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ZlibDecompressor-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ZlibDecompressor-expanded"><a name="ZlibDecompressor.__init__"></a><div id="ZlibDecompressor.__init__-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="ZlibDecompressor.__init__-toggle" onclick="return toggle('ZlibDecompressor.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.compress.ZlibDecompressor-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ZlibDecompressor.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ZlibDecompressor.__init__-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt class="py-name">zlib</tt><tt class="py-op">.</tt><tt class="py-name">decompressobj</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
-<a name="ZlibDecompressor.__call__"></a><div id="ZlibDecompressor.__call__-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="ZlibDecompressor.__call__-toggle" onclick="return toggle('ZlibDecompressor.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.compress.ZlibDecompressor-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ZlibDecompressor.__call__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ZlibDecompressor.__call__-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">z</tt><tt class="py-op">.</tt><tt class="py-name">decompress</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.compress.ZlibCompressor-class.html b/docs/paramiko.compress.ZlibCompressor-class.html
deleted file mode 100644
index b735db6..0000000
--- a/docs/paramiko.compress.ZlibCompressor-class.html
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.compress.ZlibCompressor</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.compress-module.html" onclick="show_private();">Module&nbsp;compress</a> ::
- Class&nbsp;ZlibCompressor
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.compress.ZlibCompressor-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ZlibCompressor</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibCompressor">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">ZlibCompressor</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.compress.ZlibCompressor-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibCompressor.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__call__"></a><span class="summary-sig-name">__call__</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibCompressor.__call__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibCompressor.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.compress.ZlibDecompressor-class.html b/docs/paramiko.compress.ZlibDecompressor-class.html
deleted file mode 100644
index 48ff726..0000000
--- a/docs/paramiko.compress.ZlibDecompressor-class.html
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.compress.ZlibDecompressor</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.compress-module.html" onclick="show_private();">Module&nbsp;compress</a> ::
- Class&nbsp;ZlibDecompressor
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.compress.ZlibDecompressor-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ZlibDecompressor</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibDecompressor">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">ZlibDecompressor</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.compress.ZlibDecompressor-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibDecompressor.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__call__"></a><span class="summary-sig-name">__call__</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibDecompressor.__call__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.compress-pysrc.html#ZlibDecompressor.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.config-module.html b/docs/paramiko.config-module.html
deleted file mode 100644
index 51fef48..0000000
--- a/docs/paramiko.config-module.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.config</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;config
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.config-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module config</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.config-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.SSHConfig-class.html"
- class="link">SSHConfig</a>.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.config-pysrc.html b/docs/paramiko.config-pysrc.html
deleted file mode 100644
index c773999..0000000
--- a/docs/paramiko.config-pysrc.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.config</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;config
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.config-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.config-module.html" onclick="show_private();">Module paramiko.config</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2006-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{SSHConfig}.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">fnmatch</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="SSHConfig"></a><div id="SSHConfig-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="SSHConfig-toggle" onclick="return toggle('SSHConfig');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.config.SSHConfig-class.html">SSHConfig</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHConfig-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SSHConfig-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"> Representation of config information as stored in the format used by</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> OpenSSH. Queries can be made via L{lookup}. The format is described in</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> OpenSSH's C{ssh_config} man page. This class is provided primarily as a</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> convenience to posix users (since the OpenSSH format is a de-facto</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> standard on posix) but should work fine on Windows too.</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.6</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="SSHConfig.__init__"></a><div id="SSHConfig.__init__-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="SSHConfig.__init__-toggle" onclick="return toggle('SSHConfig.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.config.SSHConfig-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHConfig.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHConfig.__init__-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> Create a new OpenSSH config object.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_config</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">{</tt> <tt class="py-string">'host'</tt><tt class="py-op">:</tt> <tt class="py-string">'*'</tt> <tt class="py-op">}</tt> <tt class="py-op">]</tt> </tt>
-</div><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
-<a name="SSHConfig.parse"></a><div id="SSHConfig.parse-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="SSHConfig.parse-toggle" onclick="return toggle('SSHConfig.parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.config.SSHConfig-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHConfig.parse-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHConfig.parse-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> Read an OpenSSH config from the given file object.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> @param file_obj: a file-like object to read the config file from</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"> @type file_obj: file</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">configs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_config</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file_obj</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'#'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'='</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-comment"># find first whitespace, and split there</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">isspace</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'Unparsable line: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'host'</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">configs</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-comment"># the value may be multiple hosts, space-delimited</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-comment"># do we have a pre-existing host config to append to?</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">c</tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_config</tt> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">host</tt><tt class="py-op">]</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">matches</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">configs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">matches</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Module paramiko.config=paramiko.config-module.html"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-0', 'config', 'link-0');">config</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'host'</tt><tt class="py-op">:</tt> <tt class="py-name">host</tt> <tt class="py-op">}</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_config</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-1" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-1', 'config', 'link-0');">config</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">configs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-2" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-2', 'config', 'link-0');">config</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-3" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-3', 'config', 'link-0');">config</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">configs</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt id="link-4" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-4', 'config', 'link-0');">config</a></tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> </tt>
-<a name="SSHConfig.lookup"></a><div id="SSHConfig.lookup-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="SSHConfig.lookup-toggle" onclick="return toggle('SSHConfig.lookup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.config.SSHConfig-class.html#lookup">lookup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHConfig.lookup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SSHConfig.lookup-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> Return a dict of config options for a given hostname.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> The host-matching rules of OpenSSH's C{ssh_config} man page are used,</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> which means that all configuration options from matching host</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> specifications are merged, with more specific hostmasks taking</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> precedence. In other words, if C{"Port"} is set under C{"Host *"}</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> and also C{"Host *.example.com"}, and the lookup is for</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> C{"ssh.example.com"}, then the port entry for C{"Host *.example.com"}</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> will win out.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> The keys in the returned dict are all normalized to lowercase (look for</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> C{"port"}, not C{"Port"}. No other processing is done to the keys or</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> values.</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> @param hostname: the hostname to lookup</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_config</tt> <tt class="py-keyword">if</tt> <tt class="py-name">fnmatch</tt><tt class="py-op">.</tt><tt class="py-name">fnmatch</tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-comment"># sort in order of shortest match (usually '*') to longest</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">y</tt><tt class="py-op">:</tt> <tt class="py-name">cmp</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">y</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">ret</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">matches</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">ret</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">ret</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
-</div></div><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.dsskey-module.html b/docs/paramiko.dsskey-module.html
deleted file mode 100644
index 537c36d..0000000
--- a/docs/paramiko.dsskey-module.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.dsskey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;dsskey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.dsskey-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module dsskey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.dsskey-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.DSSKey-class.html" class="link">DSSKey</a></p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.dsskey-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.dsskey-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.dsskey-pysrc.html b/docs/paramiko.dsskey-pysrc.html
deleted file mode 100644
index 6e96318..0000000
--- a/docs/paramiko.dsskey-pysrc.html
+++ /dev/null
@@ -1,356 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.dsskey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;dsskey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.dsskey-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.dsskey-module.html" onclick="show_private();">Module paramiko.dsskey</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{DSSKey}</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">PublicKey</tt> <tt class="py-keyword">import</tt> <tt class="py-name">DSA</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-5', 'ssh_exception', 'link-5');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-6', 'SSHException', 'link-6');">SSHException</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-8', 'message', 'link-8');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-9', 'Message', 'link-9');">Message</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-10', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Module paramiko.ber=paramiko.ber-module.html"><a title="paramiko.ber" class="py-name" href="#" onclick="return doclink('link-11', 'ber', 'link-11');">ber</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class paramiko.ber.BER=paramiko.ber.BER-class.html"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-12', 'BER', 'link-12');">BER</a></tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name" targets="Class paramiko.ber.BERException=paramiko.ber.BERException-class.html"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-13', 'BERException', 'link-13');">BERException</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-14" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-14', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module paramiko.pkey=paramiko.pkey-module.html"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-15', 'pkey', 'link-15');">pkey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-16" class="py-name" targets="Class paramiko.PKey=paramiko.PKey-class.html"><a title="paramiko.PKey" class="py-name" href="#" onclick="return doclink('link-16', 'PKey', 'link-16');">PKey</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="DSSKey"></a><div id="DSSKey-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="DSSKey-toggle" onclick="return toggle('DSSKey');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html">DSSKey</a> <tt class="py-op">(</tt><tt class="py-base-class">PKey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="DSSKey-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> Representation of a DSS key which can be used to sign an verify SSH2</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> data.</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.__init__"></a><div id="DSSKey.__init__-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="DSSKey.__init__-toggle" onclick="return toggle('DSSKey.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">vals</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.__init__-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">file_obj</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_from_private_key</tt><tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_from_private_key_file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">msg</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">data</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-17', 'Message', 'link-9');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">vals</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">vals</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">msg</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-18" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-18', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Key object may not be empty'</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-19', 'get_string', 'link-19');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ssh-dss'</tt><tt class="py-op">:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-20" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-20', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Invalid key'</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method paramiko.Message.get_mpint()=paramiko.Message-class.html#get_mpint"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-21', 'get_mpint', 'link-21');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-22', 'get_mpint', 'link-21');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-23', 'get_mpint', 'link-21');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-24', 'get_mpint', 'link-21');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-25', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Function paramiko.util.bit_length()=paramiko.util-module.html#bit_length"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-26', 'bit_length', 'link-26');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.__str__"></a><div id="DSSKey.__str__-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="DSSKey.__str__-toggle" onclick="return toggle('DSSKey.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.__str__-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-27', 'Message', 'link-9');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-28', 'add_string', 'link-28');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'ssh-dss'</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method paramiko.Message.add_mpint()=paramiko.Message-class.html#add_mpint"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-29', 'add_mpint', 'link-29');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-30', 'add_mpint', 'link-29');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-31', 'add_mpint', 'link-29');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-32', 'add_mpint', 'link-29');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.__hash__"></a><div id="DSSKey.__hash__-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="DSSKey.__hash__-toggle" onclick="return toggle('DSSKey.__hash__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#__hash__">__hash__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.__hash__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.__hash__-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-33', 'get_name', 'link-33');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt> <tt class="py-op">+</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt> <tt class="py-op">+</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt> <tt class="py-op">+</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt> <tt class="py-op">+</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-comment"># h might be a long by now...</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">h</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.get_name"></a><div id="DSSKey.get_name-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="DSSKey.get_name-toggle" onclick="return toggle('DSSKey.get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#get_name">get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.get_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.get_name-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'ssh-dss'</tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.get_bits"></a><div id="DSSKey.get_bits-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="DSSKey.get_bits-toggle" onclick="return toggle('DSSKey.get_bits');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#get_bits">get_bits</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.get_bits-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.get_bits-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
-</div><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.can_sign"></a><div id="DSSKey.can_sign-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="DSSKey.can_sign-toggle" onclick="return toggle('DSSKey.can_sign');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#can_sign">can_sign</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.can_sign-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.can_sign-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.sign_ssh_data"></a><div id="DSSKey.sign_ssh_data-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="DSSKey.sign_ssh_data-toggle" onclick="return toggle('DSSKey.sign_ssh_data');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#sign_ssh_data">sign_ssh_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">rng</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.sign_ssh_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.sign_ssh_data-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">digest</tt> <tt class="py-op">=</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-34', 'new', 'link-34');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">dss</tt> <tt class="py-op">=</tt> <tt class="py-name">DSA</tt><tt class="py-op">.</tt><tt class="py-name">construct</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment"># generate a suitable k</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">qsize</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-35', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Function paramiko.util.deflate_long()=paramiko.util-module.html#deflate_long"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-36', 'deflate_long', 'link-36');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-37', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-38', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt id="link-39" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-39', 'rng', 'link-39');">rng</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-40', 'read', 'link-40');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">qsize</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">k</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">k</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">dss</tt><tt class="py-op">.</tt><tt class="py-name">sign</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-41', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-42', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">digest</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-43', 'Message', 'link-9');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-44', 'add_string', 'link-28');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'ssh-dss'</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-comment"># apparently, in rare cases, r or s may be shorter than 20 bytes!</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">rstr</tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-45', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-46', 'deflate_long', 'link-36');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">sstr</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-47', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-48', 'deflate_long', 'link-36');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rstr</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">20</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">rstr</tt> <tt class="py-op">=</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">20</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rstr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">rstr</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">sstr</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">20</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">sstr</tt> <tt class="py-op">=</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">20</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">sstr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">sstr</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-49', 'add_string', 'link-28');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">rstr</tt> <tt class="py-op">+</tt> <tt class="py-name">sstr</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">m</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.verify_ssh_sig"></a><div id="DSSKey.verify_ssh_sig-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="DSSKey.verify_ssh_sig-toggle" onclick="return toggle('DSSKey.verify_ssh_sig');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#verify_ssh_sig">verify_ssh_sig</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.verify_ssh_sig-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.verify_ssh_sig-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-comment"># spies.com bug: signature has no header</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">kind</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-50', 'get_string', 'link-19');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kind</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ssh-dss'</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-51', 'get_string', 'link-19');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-comment"># pull out (r, s) which are NOT encoded as mpints</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">sigR</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-52', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-53', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">20</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">sigS</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-54', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-55', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">[</tt><tt class="py-number">20</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">sigM</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-56', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-57', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-58', 'new', 'link-34');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">dss</tt> <tt class="py-op">=</tt> <tt class="py-name">DSA</tt><tt class="py-op">.</tt><tt class="py-name">construct</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">dss</tt><tt class="py-op">.</tt><tt class="py-name">verify</tt><tt class="py-op">(</tt><tt class="py-name">sigM</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">sigR</tt><tt class="py-op">,</tt> <tt class="py-name">sigS</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> </tt>
-<a name="DSSKey._encode_key"></a><div id="DSSKey._encode_key-def"><a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="DSSKey._encode_key-toggle" onclick="return toggle('DSSKey._encode_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#_encode_key">_encode_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey._encode_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey._encode_key-expanded"><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-59" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-59', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Not enough key information'</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">keylist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">]</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-60', 'BER', 'link-12');">BER</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method paramiko.ber.BER.encode()=paramiko.ber.BER-class.html#encode"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-61', 'encode', 'link-61');">encode</a></tt><tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-62" class="py-name"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-62', 'BERException', 'link-13');">BERException</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-63', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unable to create ber encoding of key'</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.write_private_key_file"></a><div id="DSSKey.write_private_key_file-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="DSSKey.write_private_key_file-toggle" onclick="return toggle('DSSKey.write_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#write_private_key_file">write_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.write_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.write_private_key_file-expanded"><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_private_key_file</tt><tt class="py-op">(</tt><tt class="py-string">'DSA'</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_encode_key</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.write_private_key"></a><div id="DSSKey.write_private_key-def"><a name="L148"></a><tt class="py-lineno">148</tt> <a class="py-toggle" href="#" id="DSSKey.write_private_key-toggle" onclick="return toggle('DSSKey.write_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#write_private_key">write_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.write_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.write_private_key-expanded"><a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_private_key</tt><tt class="py-op">(</tt><tt class="py-string">'DSA'</tt><tt class="py-op">,</tt> <tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_encode_key</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
-<a name="DSSKey.generate"></a><div id="DSSKey.generate-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="DSSKey.generate-toggle" onclick="return toggle('DSSKey.generate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#generate">generate</a><tt class="py-op">(</tt><tt class="py-param">bits</tt><tt class="py-op">=</tt><tt class="py-number">1024</tt><tt class="py-op">,</tt> <tt class="py-param">progress_func</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey.generate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey.generate-expanded"><a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> Generate a new private DSS key. This factory function can be used to</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> generate a new host key or authentication key.</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> @param bits: number of bits the generated key should be.</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> @type bits: int</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> @param progress_func: an optional function to call at key points in</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> key generation (used by C{pyCrypto.PublicKey}).</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> @type progress_func: function</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> @return: new private key</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{DSSKey}</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">dsa</tt> <tt class="py-op">=</tt> <tt class="py-name">DSA</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Static Method paramiko.DSSKey.generate()=paramiko.DSSKey-class.html#generate,Static Method paramiko.RSAKey.generate()=paramiko.RSAKey-class.html#generate"><a title="paramiko.DSSKey.generate
-paramiko.RSAKey.generate" class="py-name" href="#" onclick="return doclink('link-64', 'generate', 'link-64');">generate</a></tt><tt class="py-op">(</tt><tt class="py-name">bits</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-65', 'rng', 'link-39');">rng</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-66', 'read', 'link-40');">read</a></tt><tt class="py-op">,</tt> <tt class="py-name">progress_func</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name" targets="Class paramiko.DSSKey=paramiko.DSSKey-class.html"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-67', 'DSSKey', 'link-67');">DSSKey</a></tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">dsa</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">,</tt> <tt class="py-name">dsa</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> <tt class="py-name">dsa</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">dsa</tt><tt class="py-op">.</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">dsa</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt id="link-68" class="py-name"><a title="paramiko.DSSKey.generate
-paramiko.RSAKey.generate" class="py-name" href="#" onclick="return doclink('link-68', 'generate', 'link-64');">generate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="paramiko.DSSKey.generate
-paramiko.RSAKey.generate" class="py-name" href="#" onclick="return doclink('link-69', 'generate', 'link-64');">generate</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> </tt>
-<a name="DSSKey._from_private_key_file"></a><div id="DSSKey._from_private_key_file-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="DSSKey._from_private_key_file-toggle" onclick="return toggle('DSSKey._from_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#_from_private_key_file">_from_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey._from_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey._from_private_key_file-expanded"><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_private_key_file</tt><tt class="py-op">(</tt><tt class="py-string">'DSA'</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_decode_key</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> </tt>
-<a name="DSSKey._from_private_key"></a><div id="DSSKey._from_private_key-def"><a name="L178"></a><tt class="py-lineno">178</tt> <a class="py-toggle" href="#" id="DSSKey._from_private_key-toggle" onclick="return toggle('DSSKey._from_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#_from_private_key">_from_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey._from_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey._from_private_key-expanded"><a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_private_key</tt><tt class="py-op">(</tt><tt class="py-string">'DSA'</tt><tt class="py-op">,</tt> <tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_decode_key</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> </tt>
-<a name="DSSKey._decode_key"></a><div id="DSSKey._decode_key-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="DSSKey._decode_key-toggle" onclick="return toggle('DSSKey._decode_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.dsskey.DSSKey-class.html#_decode_key">_decode_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DSSKey._decode_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DSSKey._decode_key-expanded"><a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-comment"># private key file contains:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-comment"># DSAPrivateKey = { version = 0, p, q, g, y, x }</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">keylist</tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-70', 'BER', 'link-12');">BER</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Method paramiko.ber.BER.decode()=paramiko.ber.BER-class.html#decode"><a title="paramiko.ber.BER.decode" class="py-name" href="#" onclick="return doclink('link-71', 'decode', 'link-71');">decode</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-72" class="py-name"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-72', 'BERException', 'link-13');">BERException</a></tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-73" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-73', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unable to parse key file: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">6</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-74" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-74', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'not a valid DSA private key file (bad ber encoding)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-75', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-76', 'bit_length', 'link-26');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.file-module.html b/docs/paramiko.file-module.html
deleted file mode 100644
index a0722b0..0000000
--- a/docs/paramiko.file-module.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.file</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;file
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.file-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module file</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.file-pysrc.html">source&nbsp;code</a></span></p>
-<p>BufferedFile.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.file-pysrc.html b/docs/paramiko.file-pysrc.html
deleted file mode 100644
index 7798427..0000000
--- a/docs/paramiko.file-pysrc.html
+++ /dev/null
@@ -1,579 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.file</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;file
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.file-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.file-module.html" onclick="show_private();">Module paramiko.file</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">BufferedFile.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">cStringIO</tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile"></a><div id="BufferedFile-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="BufferedFile-toggle" onclick="return toggle('BufferedFile');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html">BufferedFile</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BufferedFile-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"> Reusable base class to implement python-style file buffering around a</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> simpler stream.</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Variable paramiko.BufferedFile._DEFAULT_BUFSIZE=paramiko.BufferedFile-class.html#_DEFAULT_BUFSIZE"><a title="paramiko.BufferedFile._DEFAULT_BUFSIZE" class="py-name" href="#" onclick="return doclink('link-0', '_DEFAULT_BUFSIZE', 'link-0');">_DEFAULT_BUFSIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">8192</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt id="link-1" class="py-name" targets="Variable paramiko.BufferedFile.SEEK_SET=paramiko.BufferedFile-class.html#SEEK_SET"><a title="paramiko.BufferedFile.SEEK_SET" class="py-name" href="#" onclick="return doclink('link-1', 'SEEK_SET', 'link-1');">SEEK_SET</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt id="link-2" class="py-name" targets="Variable paramiko.BufferedFile.SEEK_CUR=paramiko.BufferedFile-class.html#SEEK_CUR"><a title="paramiko.BufferedFile.SEEK_CUR" class="py-name" href="#" onclick="return doclink('link-2', 'SEEK_CUR', 'link-2');">SEEK_CUR</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt id="link-3" class="py-name" targets="Variable paramiko.BufferedFile.SEEK_END=paramiko.BufferedFile-class.html#SEEK_END"><a title="paramiko.BufferedFile.SEEK_END" class="py-name" href="#" onclick="return doclink('link-3', 'SEEK_END', 'link-3');">SEEK_END</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-4" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_READ=paramiko.BufferedFile-class.html#FLAG_READ"><a title="paramiko.BufferedFile.FLAG_READ" class="py-name" href="#" onclick="return doclink('link-4', 'FLAG_READ', 'link-4');">FLAG_READ</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x1</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_WRITE=paramiko.BufferedFile-class.html#FLAG_WRITE"><a title="paramiko.BufferedFile.FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-5', 'FLAG_WRITE', 'link-5');">FLAG_WRITE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_APPEND=paramiko.BufferedFile-class.html#FLAG_APPEND"><a title="paramiko.BufferedFile.FLAG_APPEND" class="py-name" href="#" onclick="return doclink('link-6', 'FLAG_APPEND', 'link-6');">FLAG_APPEND</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-7" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_BINARY=paramiko.BufferedFile-class.html#FLAG_BINARY"><a title="paramiko.BufferedFile.FLAG_BINARY" class="py-name" href="#" onclick="return doclink('link-7', 'FLAG_BINARY', 'link-7');">FLAG_BINARY</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x10</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-8" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_BUFFERED=paramiko.BufferedFile-class.html#FLAG_BUFFERED"><a title="paramiko.BufferedFile.FLAG_BUFFERED" class="py-name" href="#" onclick="return doclink('link-8', 'FLAG_BUFFERED', 'link-8');">FLAG_BUFFERED</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x20</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-9" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_LINE_BUFFERED=paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED"><a title="paramiko.BufferedFile.FLAG_LINE_BUFFERED" class="py-name" href="#" onclick="return doclink('link-9', 'FLAG_LINE_BUFFERED', 'link-9');">FLAG_LINE_BUFFERED</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x40</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE=paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE"><a title="paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE" class="py-name" href="#" onclick="return doclink('link-10', 'FLAG_UNIVERSAL_NEWLINE', 'link-10');">FLAG_UNIVERSAL_NEWLINE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x80</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.__init__"></a><div id="BufferedFile.__init__-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="BufferedFile.__init__-toggle" onclick="return toggle('BufferedFile.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.__init__-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_bufsize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="paramiko.BufferedFile._DEFAULT_BUFSIZE" class="py-name" href="#" onclick="return doclink('link-11', '_DEFAULT_BUFSIZE', 'link-0');">_DEFAULT_BUFSIZE</a></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_at_trailing_cr</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-comment"># pos - position within the file, according to the user</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-comment"># realpos - position according the OS</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-comment"># (these may be different because we buffer for line reading)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-comment"># size only matters for seekable files</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.__del__"></a><div id="BufferedFile.__del__-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="BufferedFile.__del__-toggle" onclick="return toggle('BufferedFile.__del__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#__del__">__del__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.__del__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.__del__-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-12', 'close', 'link-12');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.__iter__"></a><div id="BufferedFile.__iter__-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="BufferedFile.__iter__-toggle" onclick="return toggle('BufferedFile.__iter__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#__iter__">__iter__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.__iter__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.__iter__-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> Returns an iterator that can be used to iterate over the lines in this</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> file. This iterator happens to return the file itself, since a file is</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> its own iterator.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> @raise ValueError: if the file is closed.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> @return: an interator.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: iterator</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">'I/O operation on closed file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.close"></a><div id="BufferedFile.close-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="BufferedFile.close-toggle" onclick="return toggle('BufferedFile.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.close-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"> Close the file. Future read and write operations will fail.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.BufferedFile.flush()=paramiko.BufferedFile-class.html#flush"><a title="paramiko.BufferedFile.flush" class="py-name" href="#" onclick="return doclink('link-13', 'flush', 'link-13');">flush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.flush"></a><div id="BufferedFile.flush-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="BufferedFile.flush-toggle" onclick="return toggle('BufferedFile.flush');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#flush">flush</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.flush-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.flush-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> Write out any data in the write buffer. This may do nothing if write</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> buffering is not turned on.</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_all</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.next"></a><div id="BufferedFile.next-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="BufferedFile.next-toggle" onclick="return toggle('BufferedFile.next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.next-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> Returns the next line from the input, or raises L{StopIteration} when</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> EOF is hit. Unlike python file objects, it's okay to mix calls to</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> C{next} and L{readline}.</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> @raise StopIteration: when the end of the file is reached.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> @return: a line read from the file.</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.BufferedFile.readline()=paramiko.BufferedFile-class.html#readline"><a title="paramiko.BufferedFile.readline" class="py-name" href="#" onclick="return doclink('link-14', 'readline', 'link-14');">readline</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">StopIteration</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">line</tt> </tt>
-</div><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.read"></a><div id="BufferedFile.read-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="BufferedFile.read-toggle" onclick="return toggle('BufferedFile.read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.read-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> Read at most C{size} bytes from the file (less if we hit the end of the</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> file first). If the C{size} argument is negative or omitted, read all</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> the remaining data in the file.</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> @param size: maximum number of bytes to read</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> @type size: int</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> @return: data read from the file, or an empty string if EOF was</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> encountered immediately</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File is closed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="paramiko.BufferedFile.FLAG_READ" class="py-name" href="#" onclick="return doclink('link-15', 'FLAG_READ', 'link-4');">FLAG_READ</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File is not open for reading'</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">size</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">size</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-comment"># go for broke</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">new_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="paramiko.BufferedFile._DEFAULT_BUFSIZE" class="py-name" href="#" onclick="return doclink('link-16', '_DEFAULT_BUFSIZE', 'link-0');">_DEFAULT_BUFSIZE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">new_data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">new_data</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt class="py-name">new_data</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">[</tt><tt class="py-name">size</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">read_size</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="paramiko.BufferedFile.FLAG_BUFFERED" class="py-name" href="#" onclick="return doclink('link-17', 'FLAG_BUFFERED', 'link-8');">FLAG_BUFFERED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">read_size</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_bufsize</tt><tt class="py-op">,</tt> <tt class="py-name">read_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">new_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read</tt><tt class="py-op">(</tt><tt class="py-name">read_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">:</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">new_data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">new_data</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">+=</tt> <tt class="py-name">new_data</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">[</tt><tt class="py-name">size</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.readline"></a><div id="BufferedFile.readline-def"><a name="L165"></a><tt class="py-lineno">165</tt> <a class="py-toggle" href="#" id="BufferedFile.readline-toggle" onclick="return toggle('BufferedFile.readline');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#readline">readline</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.readline-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.readline-expanded"><a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> Read one entire line from the file. A trailing newline character is</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> kept in the string (but may be absent when a file ends with an</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> incomplete line). If the size argument is present and non-negative, it</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> is a maximum byte count (including the trailing newline) and an</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> incomplete line may be returned. An empty string is returned only when</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> EOF is encountered immediately.</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> @note: Unlike stdio's C{fgets()}, the returned string contains null</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> characters (C{'\\0'}) if they occurred in the input.</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> @param size: maximum length of returned string.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> @type size: int</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> @return: next line of the file, or an empty string if the end of the</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> file has been reached.</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-comment"># it's almost silly how complex this function is.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File is closed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.BufferedFile.FLAG_READ" class="py-name" href="#" onclick="return doclink('link-18', 'FLAG_READ', 'link-4');">FLAG_READ</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File not open for reading'</tt><tt class="py-op">)</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_at_trailing_cr</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE" class="py-name" href="#" onclick="return doclink('link-19', 'FLAG_UNIVERSAL_NEWLINE', 'link-10');">FLAG_UNIVERSAL_NEWLINE</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-comment"># edge case: the newline may be '\r\n' and we may have read</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-comment"># only the first '\r' last time.</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\n'</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_record_newline</tt><tt class="py-op">(</tt><tt class="py-string">'\r\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_record_newline</tt><tt class="py-op">(</tt><tt class="py-string">'\r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_at_trailing_cr</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-comment"># check size before looking for a linefeed, in case we already have</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-comment"># enough.</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">size</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-comment"># truncate line and return</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">size</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">line</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_bufsize</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'\n'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE" class="py-name" href="#" onclick="return doclink('link-20', 'FLAG_UNIVERSAL_NEWLINE', 'link-10');">FLAG_UNIVERSAL_NEWLINE</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">'\r'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">new_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">new_data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">new_data</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">line</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">+=</tt> <tt class="py-name">new_data</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_data</tt><tt class="py-op">)</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-comment"># find the newline</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE" class="py-name" href="#" onclick="return doclink('link-21', 'FLAG_UNIVERSAL_NEWLINE', 'link-10');">FLAG_UNIVERSAL_NEWLINE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">rpos</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">'\r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">rpos</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">rpos</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">pos</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">pos</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">rpos</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-name">xpos</tt> <tt class="py-op">=</tt> <tt class="py-name">pos</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">pos</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\r'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">xpos</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">xpos</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\n'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-name">xpos</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">xpos</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">lf</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-name">pos</tt><tt class="py-op">:</tt><tt class="py-name">xpos</tt><tt class="py-op">]</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">pos</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">lf</tt> <tt class="py-op">==</tt> <tt class="py-string">'\r'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-comment"># we could read the line up to a '\r' and there could still be a</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-comment"># '\n' following that we read next time. note that and eat it.</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_at_trailing_cr</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_record_newline</tt><tt class="py-op">(</tt><tt class="py-name">lf</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">line</tt> </tt>
-</div><a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.readlines"></a><div id="BufferedFile.readlines-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="BufferedFile.readlines-toggle" onclick="return toggle('BufferedFile.readlines');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#readlines">readlines</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sizehint</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.readlines-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.readlines-expanded"><a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> Read all remaining lines using L{readline} and return them as a list.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> If the optional C{sizehint} argument is present, instead of reading up</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> to EOF, whole lines totalling approximately sizehint bytes (possibly</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> after rounding up to an internal buffer size) are read.</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> @param sizehint: desired maximum number of bytes to read.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> @type sizehint: int</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of lines read from the file.</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">bytes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.BufferedFile.readline" class="py-name" href="#" onclick="return doclink('link-22', 'readline', 'link-14');">readline</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">lines</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-name">bytes</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">sizehint</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">bytes</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">sizehint</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">lines</tt> </tt>
-</div><a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.seek"></a><div id="BufferedFile.seek-def"><a name="L268"></a><tt class="py-lineno">268</tt> <a class="py-toggle" href="#" id="BufferedFile.seek-toggle" onclick="return toggle('BufferedFile.seek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#seek">seek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">,</tt> <tt class="py-param">whence</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.seek-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.seek-expanded"><a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> Set the file's current position, like stdio's C{fseek}. Not all file</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> objects support seeking.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> @note: If a file is opened in append mode (C{'a'} or C{'a+'}), any seek</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"> operations will be undone at the next write (as the file position</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> will move back to the end of the file).</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> @param offset: position to move to within the file, relative to</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> C{whence}.</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-docstring"> @type offset: int</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"><tt class="py-docstring"> @param whence: type of movement: 0 = absolute; 1 = relative to the</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"><tt class="py-docstring"> current position; 2 = relative to the end of the file.</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-docstring"> @type whence: int</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the file doesn't support random access.</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File does not support seeking.'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.tell"></a><div id="BufferedFile.tell-def"><a name="L288"></a><tt class="py-lineno">288</tt> <a class="py-toggle" href="#" id="BufferedFile.tell-toggle" onclick="return toggle('BufferedFile.tell');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#tell">tell</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.tell-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.tell-expanded"><a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"> Return the file's current position. This may not be accurate or</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"> useful if the underlying file doesn't support random access, or was</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> opened in append mode.</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> @return: file position (in bytes).</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> </tt>
-</div><a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.write"></a><div id="BufferedFile.write-def"><a name="L299"></a><tt class="py-lineno">299</tt> <a class="py-toggle" href="#" id="BufferedFile.write-toggle" onclick="return toggle('BufferedFile.write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.write-expanded"><a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-docstring"> Write data to the file. If write buffering is on (C{bufsize} was</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"><tt class="py-docstring"> specified and non-zero), some or all of the data may not actually be</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"><tt class="py-docstring"> written yet. (Use L{flush} or L{close} to force buffered data to be</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"><tt class="py-docstring"> written out.)</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-docstring"> @param data: data to write.</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File is closed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.BufferedFile.FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-23', 'FLAG_WRITE', 'link-5');">FLAG_WRITE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'File not open for writing'</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.BufferedFile.FLAG_BUFFERED" class="py-name" href="#" onclick="return doclink('link-24', 'FLAG_BUFFERED', 'link-8');">FLAG_BUFFERED</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_all</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-25', 'write', 'link-25');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="paramiko.BufferedFile.FLAG_LINE_BUFFERED" class="py-name" href="#" onclick="return doclink('link-26', 'FLAG_LINE_BUFFERED', 'link-9');">FLAG_LINE_BUFFERED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-comment"># only scan the new data for linefeed, to avoid wasting time.</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-name">last_newline_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">rfind</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">last_newline_pos</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-name">wbuf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-name">last_newline_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">wbuf</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_all</tt><tt class="py-op">(</tt><tt class="py-name">wbuf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">last_newline_pos</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-27', 'write', 'link-25');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">wbuf</tt><tt class="py-op">[</tt><tt class="py-name">last_newline_pos</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-comment"># even if we're line buffering, if the buffer has grown past the</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-comment"># buffer size, force a flush.</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wbuffer</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method paramiko.BufferedFile.tell()=paramiko.BufferedFile-class.html#tell"><a title="paramiko.BufferedFile.tell" class="py-name" href="#" onclick="return doclink('link-28', 'tell', 'link-28');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_bufsize</tt><tt class="py-op">:</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.BufferedFile.flush" class="py-name" href="#" onclick="return doclink('link-29', 'flush', 'link-13');">flush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.writelines"></a><div id="BufferedFile.writelines-def"><a name="L333"></a><tt class="py-lineno">333</tt> <a class="py-toggle" href="#" id="BufferedFile.writelines-toggle" onclick="return toggle('BufferedFile.writelines');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#writelines">writelines</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sequence</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.writelines-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.writelines-expanded"><a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"><tt class="py-docstring"> Write a sequence of strings to the file. The sequence can be any</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"><tt class="py-docstring"> iterable object producing strings, typically a list of strings. (The</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-docstring"> name is intended to match L{readlines}; C{writelines} does not add line</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"><tt class="py-docstring"> separators.)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"><tt class="py-docstring"> @param sequence: an iterable sequence of strings.</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"><tt class="py-docstring"> @type sequence: sequence</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sequence</tt><tt class="py-op">:</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-30', 'write', 'link-25');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile.xreadlines"></a><div id="BufferedFile.xreadlines-def"><a name="L347"></a><tt class="py-lineno">347</tt> <a class="py-toggle" href="#" id="BufferedFile.xreadlines-toggle" onclick="return toggle('BufferedFile.xreadlines');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#xreadlines">xreadlines</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile.xreadlines-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile.xreadlines-expanded"><a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"><tt class="py-docstring"> Identical to C{iter(f)}. This is a deprecated file interface that</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"><tt class="py-docstring"> predates python iterator support.</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"><tt class="py-docstring"> @return: an iterator.</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: iterator</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-comment">### overrides...</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile._read"></a><div id="BufferedFile._read-def"><a name="L361"></a><tt class="py-lineno">361</tt> <a class="py-toggle" href="#" id="BufferedFile._read-toggle" onclick="return toggle('BufferedFile._read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile._read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile._read-expanded"><a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"><tt class="py-docstring"> I{(subclass override)}</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"><tt class="py-docstring"> Read data from the stream. Return C{None} or raise C{EOFError} to</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"><tt class="py-docstring"> indicate EOF.</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile._write"></a><div id="BufferedFile._write-def"><a name="L369"></a><tt class="py-lineno">369</tt> <a class="py-toggle" href="#" id="BufferedFile._write-toggle" onclick="return toggle('BufferedFile._write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#_write">_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile._write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile._write-expanded"><a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"><tt class="py-docstring"> I{(subclass override)}</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"><tt class="py-docstring"> Write data into the stream.</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'write not implemented'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile._get_size"></a><div id="BufferedFile._get_size-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="BufferedFile._get_size-toggle" onclick="return toggle('BufferedFile._get_size');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#_get_size">_get_size</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile._get_size-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile._get_size-expanded"><a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"><tt class="py-docstring"> I{(subclass override)}</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"><tt class="py-docstring"> Return the size of the file. This is called from within L{_set_mode}</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"><tt class="py-docstring"> if the file is opened in append mode, so the file position can be</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"><tt class="py-docstring"> tracked and L{seek} and L{tell} will work correctly. If the file is</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"><tt class="py-docstring"> a stream that can't be randomly accessed, you don't need to override</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"><tt class="py-docstring"> this method,</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile._set_mode"></a><div id="BufferedFile._set_mode-def"><a name="L391"></a><tt class="py-lineno">391</tt> <a class="py-toggle" href="#" id="BufferedFile._set_mode-toggle" onclick="return toggle('BufferedFile._set_mode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#_set_mode">_set_mode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-param">bufsize</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile._set_mode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile._set_mode-expanded"><a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"><tt class="py-docstring"> Subclasses call this method to initialize the BufferedFile.</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt class="py-comment"># set bufsize in any event, because it's used for readline().</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_bufsize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="paramiko.BufferedFile._DEFAULT_BUFSIZE" class="py-name" href="#" onclick="return doclink('link-31', '_DEFAULT_BUFSIZE', 'link-0');">_DEFAULT_BUFSIZE</a></tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bufsize</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-comment"># do no buffering by default, because otherwise writes will get</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-comment"># buffered in a way that will probably confuse people.</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-name">bufsize</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bufsize</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-comment"># apparently, line buffering only affects writes. reads are only</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-comment"># buffered if you call readline (directly or indirectly: iterating</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-comment"># over a file will indirectly call readline).</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="paramiko.BufferedFile.FLAG_BUFFERED" class="py-name" href="#" onclick="return doclink('link-32', 'FLAG_BUFFERED', 'link-8');">FLAG_BUFFERED</a></tt> <tt class="py-op">|</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.BufferedFile.FLAG_LINE_BUFFERED" class="py-name" href="#" onclick="return doclink('link-33', 'FLAG_LINE_BUFFERED', 'link-9');">FLAG_LINE_BUFFERED</a></tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">bufsize</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_bufsize</tt> <tt class="py-op">=</tt> <tt class="py-name">bufsize</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.BufferedFile.FLAG_BUFFERED" class="py-name" href="#" onclick="return doclink('link-34', 'FLAG_BUFFERED', 'link-8');">FLAG_BUFFERED</a></tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;=</tt> <tt class="py-op">~</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.BufferedFile.FLAG_LINE_BUFFERED" class="py-name" href="#" onclick="return doclink('link-35', 'FLAG_LINE_BUFFERED', 'link-9');">FLAG_LINE_BUFFERED</a></tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">bufsize</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-comment"># unbuffered</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;=</tt> <tt class="py-op">~</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.BufferedFile.FLAG_BUFFERED" class="py-name" href="#" onclick="return doclink('link-36', 'FLAG_BUFFERED', 'link-8');">FLAG_BUFFERED</a></tt> <tt class="py-op">|</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.BufferedFile.FLAG_LINE_BUFFERED" class="py-name" href="#" onclick="return doclink('link-37', 'FLAG_LINE_BUFFERED', 'link-9');">FLAG_LINE_BUFFERED</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'r'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-string">'+'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.BufferedFile.FLAG_READ" class="py-name" href="#" onclick="return doclink('link-38', 'FLAG_READ', 'link-4');">FLAG_READ</a></tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'w'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-string">'+'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.BufferedFile.FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-39', 'FLAG_WRITE', 'link-5');">FLAG_WRITE</a></tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'a'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.BufferedFile.FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-40', 'FLAG_WRITE', 'link-5');">FLAG_WRITE</a></tt> <tt class="py-op">|</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="paramiko.BufferedFile.FLAG_APPEND" class="py-name" href="#" onclick="return doclink('link-41', 'FLAG_APPEND', 'link-6');">FLAG_APPEND</a></tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_get_size</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'b'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.BufferedFile.FLAG_BINARY" class="py-name" href="#" onclick="return doclink('link-42', 'FLAG_BINARY', 'link-7');">FLAG_BINARY</a></tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'U'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE" class="py-name" href="#" onclick="return doclink('link-43', 'FLAG_UNIVERSAL_NEWLINE', 'link-10');">FLAG_UNIVERSAL_NEWLINE</a></tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-comment"># built-in file objects have this attribute to store which kinds of</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-comment"># line terminations they've seen:</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-comment"># &lt;http://www.python.org/doc/current/lib/built-in-funcs.html&gt;</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile._write_all"></a><div id="BufferedFile._write_all-def"><a name="L431"></a><tt class="py-lineno">431</tt> <a class="py-toggle" href="#" id="BufferedFile._write_all-toggle" onclick="return toggle('BufferedFile._write_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#_write_all">_write_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile._write_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile._write_all-expanded"><a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-comment"># the underlying stream may be something that does partial writes (like</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-comment"># a socket).</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">count</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="paramiko.BufferedFile.FLAG_APPEND" class="py-name" href="#" onclick="return doclink('link-44', 'FLAG_APPEND', 'link-6');">FLAG_APPEND</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> <tt class="py-op">+=</tt> <tt class="py-name">count</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">count</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">+=</tt> <tt class="py-name">count</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> </tt>
-<a name="BufferedFile._record_newline"></a><div id="BufferedFile._record_newline-def"><a name="L445"></a><tt class="py-lineno">445</tt> <a class="py-toggle" href="#" id="BufferedFile._record_newline-toggle" onclick="return toggle('BufferedFile._record_newline');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.file.BufferedFile-class.html#_record_newline">_record_newline</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">newline</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BufferedFile._record_newline-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BufferedFile._record_newline-expanded"><a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-comment"># silliness about tracking what kinds of newlines we've seen.</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-comment"># i don't understand why it can be None, a string, or a tuple, instead</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-comment"># of just always being a tuple, but we'll emulate that behavior anyway.</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.BufferedFile.FLAG_UNIVERSAL_NEWLINE" class="py-name" href="#" onclick="return doclink('link-45', 'FLAG_UNIVERSAL_NEWLINE', 'link-10');">FLAG_UNIVERSAL_NEWLINE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-op">=</tt> <tt class="py-name">newline</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-op">!=</tt> <tt class="py-name">newline</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt><tt class="py-op">,</tt> <tt class="py-name">newline</tt><tt class="py-op">)</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">newline</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt><tt class="py-op">:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">newlines</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">newline</tt><tt class="py-op">,</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.hostkeys-module.html b/docs/paramiko.hostkeys-module.html
deleted file mode 100644
index 3477a7b..0000000
--- a/docs/paramiko.hostkeys-module.html
+++ /dev/null
@@ -1,549 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.hostkeys</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;hostkeys
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.hostkeys-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hostkeys</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.hostkeys-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.HostKeys-class.html" class="link">HostKeys</a></p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.hostkeys.HostKeyEntry-class.html" class="summary-name">HostKeyEntry</a><br />
- Representation of a line in an OpenSSH-style &quot;known
- hosts&quot; file.
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.hostkeys-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.hostkeys-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.hostkeys-pysrc.html b/docs/paramiko.hostkeys-pysrc.html
deleted file mode 100644
index c4175b1..0000000
--- a/docs/paramiko.hostkeys-pysrc.html
+++ /dev/null
@@ -1,501 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.hostkeys</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;hostkeys
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.hostkeys-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.hostkeys-module.html" onclick="show_private();">Module paramiko.hostkeys</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2006-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{HostKeys}</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA</tt><tt class="py-op">,</tt> <tt class="py-name">HMAC</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">UserDict</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.dsskey=paramiko.dsskey-module.html"><a title="paramiko.dsskey" class="py-name" href="#" onclick="return doclink('link-3', 'dsskey', 'link-3');">dsskey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class paramiko.DSSKey=paramiko.DSSKey-class.html"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-4', 'DSSKey', 'link-4');">DSSKey</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-5', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module paramiko.rsakey=paramiko.rsakey-module.html"><a title="paramiko.rsakey" class="py-name" href="#" onclick="return doclink('link-6', 'rsakey', 'link-6');">rsakey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Class paramiko.RSAKey=paramiko.RSAKey-class.html"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-7', 'RSAKey', 'link-7');">RSAKey</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="HostKeyEntry"></a><div id="HostKeyEntry-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="HostKeyEntry-toggle" onclick="return toggle('HostKeyEntry');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeyEntry-class.html">HostKeyEntry</a><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeyEntry-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HostKeyEntry-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> Representation of a line in an OpenSSH-style "known hosts" file.</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="HostKeyEntry.__init__"></a><div id="HostKeyEntry.__init__-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="HostKeyEntry.__init__-toggle" onclick="return toggle('HostKeyEntry.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeyEntry-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostnames</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeyEntry.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeyEntry.__init__-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">hostnames</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt> <tt class="py-op">=</tt> <tt class="py-name">hostnames</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="HostKeyEntry.from_line"></a><div id="HostKeyEntry.from_line-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="HostKeyEntry.from_line-toggle" onclick="return toggle('HostKeyEntry.from_line');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeyEntry-class.html#from_line">from_line</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeyEntry.from_line-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeyEntry.from_line-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> Parses the given line of text to find the names for the host,</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> the type of key, and the key data. The line is expected to be in the</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> format used by the openssh known_hosts file.</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"> Lines are expected to not have leading or trailing whitespace.</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> We don't bother to check for comments or empty lines. All of</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> that should be taken care of before sending the line to us.</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> @param line: a line from an OpenSSH known_hosts file</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> @type line: str</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">fields</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">fields</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-comment"># Bad number of fields</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">fields</tt> <tt class="py-op">=</tt> <tt class="py-name">fields</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">names</tt><tt class="py-op">,</tt> <tt class="py-name">keytype</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">fields</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">names</tt> <tt class="py-op">=</tt> <tt class="py-name">names</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-comment"># Decide what kind of key we're looking at and create an object</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># to hold it accordingly.</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">keytype</tt> <tt class="py-op">==</tt> <tt class="py-string">'ssh-rsa'</tt><tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-8', 'RSAKey', 'link-7');">RSAKey</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">=</tt><tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">decodestring</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">keytype</tt> <tt class="py-op">==</tt> <tt class="py-string">'ssh-dss'</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-9', 'DSSKey', 'link-4');">DSSKey</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">=</tt><tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">decodestring</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-name">names</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Class Method paramiko.hostkeys.HostKeyEntry.from_line()=paramiko.hostkeys.HostKeyEntry-class.html#from_line"><a title="paramiko.hostkeys.HostKeyEntry.from_line" class="py-name" href="#" onclick="return doclink('link-10', 'from_line', 'link-10');">from_line</a></tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="paramiko.hostkeys.HostKeyEntry.from_line" class="py-name" href="#" onclick="return doclink('link-11', 'from_line', 'link-10');">from_line</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt>
-<a name="HostKeyEntry.to_line"></a><div id="HostKeyEntry.to_line-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="HostKeyEntry.to_line-toggle" onclick="return toggle('HostKeyEntry.to_line');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeyEntry-class.html#to_line">to_line</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeyEntry.to_line-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeyEntry.to_line-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> Returns a string in OpenSSH known_hosts file format, or None if</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> the object is not in a valid state. A trailing newline is</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> included.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valid</tt><tt class="py-op">:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%s %s %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-12', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.PKey.get_base64()=paramiko.PKey-class.html#get_base64"><a title="paramiko.PKey.get_base64" class="py-name" href="#" onclick="return doclink('link-13', 'get_base64', 'link-13');">get_base64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
-<a name="HostKeyEntry.__repr__"></a><div id="HostKeyEntry.__repr__-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="HostKeyEntry.__repr__-toggle" onclick="return toggle('HostKeyEntry.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeyEntry-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeyEntry.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeyEntry.__repr__-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HostKeyEntry %r: %r&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
-<a name="HostKeys"></a><div id="HostKeys-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="HostKeys-toggle" onclick="return toggle('HostKeys');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html">HostKeys</a> <tt class="py-op">(</tt><tt class="py-base-class">UserDict</tt><tt class="py-op">.</tt><tt class="py-base-class">DictMixin</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HostKeys-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> Representation of an openssh-style "known hosts" file. Host keys can be</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> read from one or more files, and then individual hosts can be looked up to</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"> verify server keys during SSH negotiation.</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> A HostKeys object can be treated like a dict; any dict lookup is equivalent</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> to calling L{lookup}.</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5.3</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.__init__"></a><div id="HostKeys.__init__-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="HostKeys.__init__-toggle" onclick="return toggle('HostKeys.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.__init__-expanded"><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> Create a new HostKeys object, optionally loading keys from an openssh</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> style host-key file.</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: filename to load host keys from, or C{None}</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-comment"># emulate a dict of { hostname: { keytype: PKey } }</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.HostKeys.load()=paramiko.HostKeys-class.html#load"><a title="paramiko.HostKeys.load" class="py-name" href="#" onclick="return doclink('link-14', 'load', 'link-14');">load</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.add"></a><div id="HostKeys.add-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="HostKeys.add-toggle" onclick="return toggle('HostKeys.add');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">keytype</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.add-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.add-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> Add a host key entry to the table. Any existing entry for a</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> C{(hostname, keytype)} pair will be replaced.</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> @param hostname: the hostname (or IP) to add</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> @param keytype: key type (C{"ssh-rsa"} or C{"ssh-dss"})</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> @type keytype: str</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> @param key: the key to add</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> @type key: L{PKey}</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">hostname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-15', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">keytype</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name" targets="Class paramiko.hostkeys.HostKeyEntry=paramiko.hostkeys.HostKeyEntry-class.html"><a title="paramiko.hostkeys.HostKeyEntry" class="py-name" href="#" onclick="return doclink('link-16', 'HostKeyEntry', 'link-16');">HostKeyEntry</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">hostname</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.load"></a><div id="HostKeys.load-def"><a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="HostKeys.load-toggle" onclick="return toggle('HostKeys.load');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#load">load</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.load-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.load-expanded"><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> Read a file of known SSH host keys, in the format used by openssh.</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> This type of file unfortunately doesn't exist on Windows, but on</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> posix, it will usually be stored in</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> C{os.path.expanduser("~/.ssh/known_hosts")}.</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> If this method is called multiple times, the host keys are merged,</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> not cleared. So multiple calls to C{load} will just call L{add},</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> replacing any existing entries and adding new ones.</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to read host keys from</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error reading the file</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-17', 'open', 'link-17');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'#'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="paramiko.hostkeys.HostKeyEntry" class="py-name" href="#" onclick="return doclink('link-18', 'HostKeyEntry', 'link-16');">HostKeyEntry</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.hostkeys.HostKeyEntry.from_line" class="py-name" href="#" onclick="return doclink('link-19', 'from_line', 'link-10');">from_line</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-20', 'close', 'link-20');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.save"></a><div id="HostKeys.save-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="HostKeys.save-toggle" onclick="return toggle('HostKeys.save');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#save">save</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.save-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.save-expanded"><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> Save host keys into a file, in the format used by openssh. The order of</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> keys in the file will be preserved when possible (if these keys were</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> loaded from a file originally). The single exception is that combined</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> lines will be split into individual key lines, which is arguably a bug.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to write</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error writing the file</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.6.1</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-21', 'open', 'link-17');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method paramiko.hostkeys.HostKeyEntry.to_line()=paramiko.hostkeys.HostKeyEntry-class.html#to_line"><a title="paramiko.hostkeys.HostKeyEntry.to_line" class="py-name" href="#" onclick="return doclink('link-22', 'to_line', 'link-22');">to_line</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-23', 'write', 'link-23');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-24', 'close', 'link-20');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.lookup"></a><div id="HostKeys.lookup-def"><a name="L181"></a><tt class="py-lineno">181</tt> <a class="py-toggle" href="#" id="HostKeys.lookup-toggle" onclick="return toggle('HostKeys.lookup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#lookup">lookup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.lookup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.lookup-expanded"><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> Find a hostkey entry for a given hostname or IP. If no entry is found,</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> C{None} is returned. Otherwise a dictionary of keytype to key is</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> returned. The keytype will be either C{"ssh-rsa"} or C{"ssh-dss"}.</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> @param hostname: the hostname (or IP) to lookup</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> @return: keys associated with this host (or C{None})</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: dict(str, L{PKey})</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">SubDict</tt> <tt class="py-op">(</tt><tt class="py-base-class">UserDict</tt><tt class="py-op">.</tt><tt class="py-base-class">DictMixin</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">__init__</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">entries</tt><tt class="py-op">,</tt> <tt class="py-param">hostkeys</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_hostname</tt> <tt class="py-op">=</tt> <tt class="py-name">hostname</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt> <tt class="py-op">=</tt> <tt class="py-name">entries</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_hostkeys</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name" targets="Module paramiko.hostkeys=paramiko.hostkeys-module.html"><a title="paramiko.hostkeys" class="py-name" href="#" onclick="return doclink('link-25', 'hostkeys', 'link-25');">hostkeys</a></tt> </tt>
-</div><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">__getitem__</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-26', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">__setitem__</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">val</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-27', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-comment"># replace</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-comment"># add a new one</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="paramiko.hostkeys.HostKeyEntry" class="py-name" href="#" onclick="return doclink('link-28', 'HostKeyEntry', 'link-16');">HostKeyEntry</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">hostname</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_hostkeys</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">keys</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-29', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">]</tt> </tt>
-</div></div><a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">entries</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">h</tt> <tt class="py-keyword">in</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt><tt class="py-op">:</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">h</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'|1|'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Static Method paramiko.HostKeys.hash_host()=paramiko.HostKeys-class.html#hash_host"><a title="paramiko.HostKeys.hash_host" class="py-name" href="#" onclick="return doclink('link-30', 'hash_host', 'link-30');">hash_host</a></tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">h</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">h</tt> <tt class="py-op">==</tt> <tt class="py-name">hostname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">entries</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">SubDict</tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">entries</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.check"></a><div id="HostKeys.check-def"><a name="L230"></a><tt class="py-lineno">230</tt> <a class="py-toggle" href="#" id="HostKeys.check-toggle" onclick="return toggle('HostKeys.check');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#check">check</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.check-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.check-expanded"><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> Return True if the given key is associated with the given hostname</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> in this dictionary.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> @param hostname: hostname (or IP) of the SSH server</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> @param key: the key to check</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> @type key: L{PKey}</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if the key is associated with the hostname; C{False}</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"> if not</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method paramiko.HostKeys.lookup()=paramiko.HostKeys-class.html#lookup,Method paramiko.SSHConfig.lookup()=paramiko.SSHConfig-class.html#lookup"><a title="paramiko.HostKeys.lookup
-paramiko.SSHConfig.lookup" class="py-name" href="#" onclick="return doclink('link-31', 'lookup', 'link-31');">lookup</a></tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">)</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">k</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">host_key</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method paramiko.SFTPClient.get()=paramiko.SFTPClient-class.html#get,Method paramiko.transport.ChannelMap.get()=paramiko.transport.ChannelMap-class.html#get"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-32', 'get', 'link-32');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-33', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">host_key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">host_key</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.clear"></a><div id="HostKeys.clear-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="HostKeys.clear-toggle" onclick="return toggle('HostKeys.clear');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#clear">clear</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.clear-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.clear-expanded"><a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> Remove all host keys from the dictionary.</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.__getitem__"></a><div id="HostKeys.__getitem__-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="HostKeys.__getitem__-toggle" onclick="return toggle('HostKeys.__getitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.__getitem__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.__getitem__-expanded"><a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">ret</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.HostKeys.lookup
-paramiko.SSHConfig.lookup" class="py-name" href="#" onclick="return doclink('link-34', 'lookup', 'link-31');">lookup</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ret</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
-</div><a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.__setitem__"></a><div id="HostKeys.__setitem__-def"><a name="L263"></a><tt class="py-lineno">263</tt> <a class="py-toggle" href="#" id="HostKeys.__setitem__-toggle" onclick="return toggle('HostKeys.__setitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">entry</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.__setitem__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.__setitem__-expanded"><a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-comment"># don't use this please.</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">entry</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="paramiko.hostkeys.HostKeyEntry" class="py-name" href="#" onclick="return doclink('link-35', 'HostKeyEntry', 'link-16');">HostKeyEntry</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">hostname</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key_type</tt> <tt class="py-keyword">in</tt> <tt class="py-name">entry</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-36', 'keys', 'link-36');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">found</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">hostname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-37', 'get_name', 'link-12');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-comment"># replace</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">entry</tt><tt class="py-op">[</tt><tt class="py-name">key_type</tt><tt class="py-op">]</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">found</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">found</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-38" class="py-name"><a title="paramiko.hostkeys.HostKeyEntry" class="py-name" href="#" onclick="return doclink('link-38', 'HostKeyEntry', 'link-16');">HostKeyEntry</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">hostname</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">entry</tt><tt class="py-op">[</tt><tt class="py-name">key_type</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.keys"></a><div id="HostKeys.keys-def"><a name="L278"></a><tt class="py-lineno">278</tt> <a class="py-toggle" href="#" id="HostKeys.keys-toggle" onclick="return toggle('HostKeys.keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#keys">keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.keys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.keys-expanded"><a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-comment"># python 2.4 sets would be nice here.</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">ret</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_entries</tt><tt class="py-op">:</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">h</tt> <tt class="py-keyword">in</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">hostnames</tt><tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">h</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ret</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">ret</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">h</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
-</div><a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.values"></a><div id="HostKeys.values-def"><a name="L287"></a><tt class="py-lineno">287</tt> <a class="py-toggle" href="#" id="HostKeys.values-toggle" onclick="return toggle('HostKeys.values');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#values">values</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.values-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.values-expanded"><a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">ret</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-39', 'keys', 'link-36');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">ret</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.HostKeys.lookup
-paramiko.SSHConfig.lookup" class="py-name" href="#" onclick="return doclink('link-40', 'lookup', 'link-31');">lookup</a></tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
-</div><a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> </tt>
-<a name="HostKeys.hash_host"></a><div id="HostKeys.hash_host-def"><a name="L293"></a><tt class="py-lineno">293</tt> <a class="py-toggle" href="#" id="HostKeys.hash_host-toggle" onclick="return toggle('HostKeys.hash_host');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.hostkeys.HostKeys-class.html#hash_host">hash_host</a><tt class="py-op">(</tt><tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">salt</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HostKeys.hash_host-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HostKeys.hash_host-expanded"><a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> Return a "hashed" form of the hostname, as used by openssh when storing</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring"> hashed hostnames in the known_hosts file.</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> @param hostname: the hostname to hash</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"><tt class="py-docstring"> @param salt: optional salt to use when hashing (must be 20 bytes long)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-docstring"> @type salt: str</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"><tt class="py-docstring"> @return: the hashed hostname</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">salt</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-name">salt</tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-41', 'rng', 'link-41');">rng</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-42', 'read', 'link-42');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt class="py-name">digest_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">salt</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'|1|'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-name">salt</tt> <tt class="py-op">=</tt> <tt class="py-name">salt</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'|'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">salt</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">decodestring</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt class="py-name">digest_size</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-name">hmac</tt> <tt class="py-op">=</tt> <tt class="py-name">HMAC</tt><tt class="py-op">.</tt><tt class="py-name">HMAC</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">,</tt> <tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">SHA</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">hostkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'|1|%s|%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">encodestring</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">encodestring</tt><tt class="py-op">(</tt><tt class="py-name">hmac</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">hostkey</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt id="link-43" class="py-name"><a title="paramiko.HostKeys.hash_host" class="py-name" href="#" onclick="return doclink('link-43', 'hash_host', 'link-30');">hash_host</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="paramiko.HostKeys.hash_host" class="py-name" href="#" onclick="return doclink('link-44', 'hash_host', 'link-30');">hash_host</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.hostkeys.HostKeyEntry-class.html b/docs/paramiko.hostkeys.HostKeyEntry-class.html
deleted file mode 100644
index 584888c..0000000
--- a/docs/paramiko.hostkeys.HostKeyEntry-class.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.hostkeys.HostKeyEntry</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.hostkeys-module.html" onclick="show_private();">Module&nbsp;hostkeys</a> ::
- Class&nbsp;HostKeyEntry
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.hostkeys.HostKeyEntry-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HostKeyEntry</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry">source&nbsp;code</a></span></p>
-<p>Representation of a line in an OpenSSH-style &quot;known hosts&quot;
- file.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">hostnames</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">key</span>=<span class="summary-sig-default">None</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.hostkeys.HostKeyEntry-class.html#to_line" class="summary-sig-name">to_line</a>(<span class="summary-sig-arg">self</span>)</span><br />
- Returns a string in OpenSSH known_hosts file format, or None if the
- object is not in a valid state.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry.to_line">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__repr__"></a><span class="summary-sig-name">__repr__</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry.__repr__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.hostkeys.HostKeyEntry-class.html#from_line" class="summary-sig-name">from_line</a>(<span class="summary-sig-arg">cls</span>,
- <span class="summary-sig-arg">line</span>)</span><br />
- Parses the given line of text to find the names for the host, the
- type of key, and the key data.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry.from_line">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="from_line"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">from_line</span>(<span class="sig-arg">cls</span>,
- <span class="sig-arg">line</span>)</span>
- <br /><em class="fname">Class Method</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry.from_line">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Parses the given line of text to find the names for the host, the type
- of key, and the key data. The line is expected to be in the format used
- by the openssh known_hosts file.</p>
- <p>Lines are expected to not have leading or trailing whitespace. We
- don't bother to check for comments or empty lines. All of that should be
- taken care of before sending the line to us.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>line</code></strong> (str) - a line from an OpenSSH known_hosts file</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="to_line"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">to_line</span>(<span class="sig-arg">self</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.hostkeys-pysrc.html#HostKeyEntry.to_line">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Returns a string in OpenSSH known_hosts file format, or None if the
- object is not in a valid state. A trailing newline is included.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.kex_gex-module.html b/docs/paramiko.kex_gex-module.html
deleted file mode 100644
index 345acc1..0000000
--- a/docs/paramiko.kex_gex-module.html
+++ /dev/null
@@ -1,550 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.kex_gex</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;kex_gex
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.kex_gex-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module kex_gex</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.kex_gex-pysrc.html">source&nbsp;code</a></span></p>
-<p>Variant on <a href="paramiko.kex_group1.KexGroup1-class.html"
- class="link">KexGroup1</a> where the prime &quot;p&quot; and generator
- &quot;g&quot; are provided by the server. A bit more work is required on
- the client side, and a <b>lot</b> more on the server side.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_gex.KexGex-class.html" class="summary-name">KexGex</a>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_gex-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_gex-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.kex_gex-pysrc.html b/docs/paramiko.kex_gex-pysrc.html
deleted file mode 100644
index 82f065e..0000000
--- a/docs/paramiko.kex_gex-pysrc.html
+++ /dev/null
@@ -1,463 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.kex_gex</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;kex_gex
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.kex_gex-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.kex_gex-module.html" onclick="show_private();">Module paramiko.kex_gex</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Variant on L{KexGroup1 &lt;paramiko.kex_group1.KexGroup1&gt;} where the prime "p" and</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">generator "g" are provided by the server. A bit more work is required on the</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring">client side, and a B{lot} more on the server side.</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">number</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-6', 'Message', 'link-6');">Message</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-8', 'ssh_exception', 'link-8');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-9', 'SSHException', 'link-9');">SSHException</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST_OLD=paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REQUEST_OLD"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST_OLD" class="py-name" href="#" onclick="return doclink('link-10', '_MSG_KEXDH_GEX_REQUEST_OLD', 'link-10');">_MSG_KEXDH_GEX_REQUEST_OLD</a></tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Variable paramiko.kex_gex._MSG_KEXDH_GEX_GROUP=paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_GROUP"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_GROUP" class="py-name" href="#" onclick="return doclink('link-11', '_MSG_KEXDH_GEX_GROUP', 'link-11');">_MSG_KEXDH_GEX_GROUP</a></tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Variable paramiko.kex_gex._MSG_KEXDH_GEX_INIT=paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_INIT"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_INIT" class="py-name" href="#" onclick="return doclink('link-12', '_MSG_KEXDH_GEX_INIT', 'link-12');">_MSG_KEXDH_GEX_INIT</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt id="link-13" class="py-name" targets="Variable paramiko.kex_gex._MSG_KEXDH_GEX_REPLY=paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REPLY"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REPLY" class="py-name" href="#" onclick="return doclink('link-13', '_MSG_KEXDH_GEX_REPLY', 'link-13');">_MSG_KEXDH_GEX_REPLY</a></tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name" targets="Variable paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST=paramiko.kex_gex-module.html#_MSG_KEXDH_GEX_REQUEST"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST" class="py-name" href="#" onclick="return doclink('link-14', '_MSG_KEXDH_GEX_REQUEST', 'link-14');">_MSG_KEXDH_GEX_REQUEST</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-number">35</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="KexGex"></a><div id="KexGex-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="KexGex-toggle" onclick="return toggle('KexGex');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html">KexGex</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="KexGex-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt id="link-15" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-15', 'name', 'link-15');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'diffie-hellman-group-exchange-sha1'</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-16" class="py-name" targets="Variable paramiko.kex_gex.KexGex.min_bits=paramiko.kex_gex.KexGex-class.html#min_bits"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-16', 'min_bits', 'link-16');">min_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1024</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-17" class="py-name" targets="Variable paramiko.kex_gex.KexGex.max_bits=paramiko.kex_gex.KexGex-class.html#max_bits"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-17', 'max_bits', 'link-17');">max_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-number">8192</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-18" class="py-name" targets="Variable paramiko.kex_gex.KexGex.preferred_bits=paramiko.kex_gex.KexGex-class.html#preferred_bits"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-18', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2048</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
-<a name="KexGex.__init__"></a><div id="KexGex.__init__-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="KexGex.__init__-toggle" onclick="return toggle('KexGex.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex.__init__-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-19', 'transport', 'link-19');">transport</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-20', 'transport', 'link-19');">transport</a></tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> </tt>
-<a name="KexGex.start_kex"></a><div id="KexGex.start_kex-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="KexGex.start_kex-toggle" onclick="return toggle('KexGex.start_kex');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#start_kex">start_kex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_test_old_style</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex.start_kex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex.start_kex-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-21', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-22', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST" class="py-name" href="#" onclick="return doclink('link-23', '_MSG_KEXDH_GEX_REQUEST', 'link-14');">_MSG_KEXDH_GEX_REQUEST</a></tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST_OLD" class="py-name" href="#" onclick="return doclink('link-24', '_MSG_KEXDH_GEX_REQUEST_OLD', 'link-10');">_MSG_KEXDH_GEX_REQUEST_OLD</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-comment"># request a bit range: we accept (min_bits) to (max_bits), but prefer</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-comment"># (preferred_bits). according to the spec, we shouldn't pull the</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-comment"># minimum up above 1024.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-25', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">_test_old_style</tt><tt class="py-op">:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-comment"># only used for unit tests: we shouldn't ever send this</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-26', 'add_byte', 'link-26');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST_OLD" class="py-name" href="#" onclick="return doclink('link-27', '_MSG_KEXDH_GEX_REQUEST_OLD', 'link-10');">_MSG_KEXDH_GEX_REQUEST_OLD</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-28', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-29', 'preferred_bits', 'link-18');">preferred_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-30', 'add_byte', 'link-26');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST" class="py-name" href="#" onclick="return doclink('link-31', '_MSG_KEXDH_GEX_REQUEST', 'link-14');">_MSG_KEXDH_GEX_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-32', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-33', 'min_bits', 'link-16');">min_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-34', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-35', 'preferred_bits', 'link-18');">preferred_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-36', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-37', 'max_bits', 'link-17');">max_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-38', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-39', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_GROUP" class="py-name" href="#" onclick="return doclink('link-40', '_MSG_KEXDH_GEX_GROUP', 'link-11');">_MSG_KEXDH_GEX_GROUP</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt>
-<a name="KexGex.parse_next"></a><div id="KexGex.parse_next-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="KexGex.parse_next-toggle" onclick="return toggle('KexGex.parse_next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#parse_next">parse_next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ptype</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex.parse_next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex.parse_next-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-41" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST" class="py-name" href="#" onclick="return doclink('link-41', '_MSG_KEXDH_GEX_REQUEST', 'link-14');">_MSG_KEXDH_GEX_REQUEST</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_gex_request</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-42" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_GROUP" class="py-name" href="#" onclick="return doclink('link-42', '_MSG_KEXDH_GEX_GROUP', 'link-11');">_MSG_KEXDH_GEX_GROUP</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_gex_group</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-43" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_INIT" class="py-name" href="#" onclick="return doclink('link-43', '_MSG_KEXDH_GEX_INIT', 'link-12');">_MSG_KEXDH_GEX_INIT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_gex_init</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-44" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REPLY" class="py-name" href="#" onclick="return doclink('link-44', '_MSG_KEXDH_GEX_REPLY', 'link-13');">_MSG_KEXDH_GEX_REPLY</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_gex_reply</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-45" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REQUEST_OLD" class="py-name" href="#" onclick="return doclink('link-45', '_MSG_KEXDH_GEX_REQUEST_OLD', 'link-10');">_MSG_KEXDH_GEX_REQUEST_OLD</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_gex_request_old</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-46" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-46', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'KexGex asked to handle packet type %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">ptype</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt>
-<a name="KexGex._generate_x"></a><div id="KexGex._generate_x-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="KexGex._generate_x-toggle" onclick="return toggle('KexGex._generate_x');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#_generate_x">_generate_x</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex._generate_x-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex._generate_x-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-comment"># generate an "x" (1 &lt; x &lt; (p-1)/2).</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">//</tt> <tt class="py-number">2</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">qnorm</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-47', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Function paramiko.util.deflate_long()=paramiko.util-module.html#deflate_long"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-48', 'deflate_long', 'link-48');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">qhbyte</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">qnorm</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">bytes</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">qnorm</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">qmask</tt> <tt class="py-op">=</tt> <tt class="py-number">0xff</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">qhbyte</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">qhbyte</tt> <tt class="py-op">&lt;&lt;=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">qmask</tt> <tt class="py-op">&gt;&gt;=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">x_bytes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-49', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-50', 'rng', 'link-50');">rng</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-51', 'read', 'link-51');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">x_bytes</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">x_bytes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">qmask</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">x_bytes</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-52', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-53', 'inflate_long', 'link-53');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">x_bytes</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">x</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">x</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">q</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt> </tt>
-</div><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> </tt>
-<a name="KexGex._parse_kexdh_gex_request"></a><div id="KexGex._parse_kexdh_gex_request-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="KexGex._parse_kexdh_gex_request-toggle" onclick="return toggle('KexGex._parse_kexdh_gex_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_request">_parse_kexdh_gex_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex._parse_kexdh_gex_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex._parse_kexdh_gex_request-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">minbits</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-54', 'get_int', 'link-54');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">preferredbits</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-55', 'get_int', 'link-54');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">maxbits</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-56', 'get_int', 'link-54');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-comment"># smoosh the user's preferred size into our own limits</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">preferredbits</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-57', 'max_bits', 'link-17');">max_bits</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">preferredbits</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-58', 'max_bits', 'link-17');">max_bits</a></tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">preferredbits</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-59', 'min_bits', 'link-16');">min_bits</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">preferredbits</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-60', 'min_bits', 'link-16');">min_bits</a></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-comment"># fix min/max if they're inconsistent. technically, we could just pout</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-comment"># and hang up, but there's no harm in giving them the benefit of the</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-comment"># doubt and just picking a bitsize for them.</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">minbits</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">preferredbits</tt><tt class="py-op">:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">minbits</tt> <tt class="py-op">=</tt> <tt class="py-name">preferredbits</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">maxbits</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">preferredbits</tt><tt class="py-op">:</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">maxbits</tt> <tt class="py-op">=</tt> <tt class="py-name">preferredbits</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-comment"># now save a copy</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-61', 'min_bits', 'link-16');">min_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-name">minbits</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-62', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-name">preferredbits</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-63', 'max_bits', 'link-17');">max_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-name">maxbits</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-comment"># generate prime</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">pack</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-64', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_get_modulus_pack</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pack</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-65" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-65', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Can\'t do server-side gex with no modulus pack'</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-66', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-67" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-67', 'DEBUG', 'link-67');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Picking p (%d &lt;= %d &lt;= %d bits)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">minbits</tt><tt class="py-op">,</tt> <tt class="py-name">preferredbits</tt><tt class="py-op">,</tt> <tt class="py-name">maxbits</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">pack</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method paramiko.primes.ModulusPack.get_modulus()=paramiko.primes.ModulusPack-class.html#get_modulus"><a title="paramiko.primes.ModulusPack.get_modulus" class="py-name" href="#" onclick="return doclink('link-68', 'get_modulus', 'link-68');">get_modulus</a></tt><tt class="py-op">(</tt><tt class="py-name">minbits</tt><tt class="py-op">,</tt> <tt class="py-name">preferredbits</tt><tt class="py-op">,</tt> <tt class="py-name">maxbits</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-69', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-70', 'add_byte', 'link-26');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-71" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_GROUP" class="py-name" href="#" onclick="return doclink('link-71', '_MSG_KEXDH_GEX_GROUP', 'link-11');">_MSG_KEXDH_GEX_GROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method paramiko.Message.add_mpint()=paramiko.Message-class.html#add_mpint"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-72', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-73', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-74', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-75', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_INIT" class="py-name" href="#" onclick="return doclink('link-76', '_MSG_KEXDH_GEX_INIT', 'link-12');">_MSG_KEXDH_GEX_INIT</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
-<a name="KexGex._parse_kexdh_gex_request_old"></a><div id="KexGex._parse_kexdh_gex_request_old-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="KexGex._parse_kexdh_gex_request_old-toggle" onclick="return toggle('KexGex._parse_kexdh_gex_request_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_request_old">_parse_kexdh_gex_request_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex._parse_kexdh_gex_request_old-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex._parse_kexdh_gex_request_old-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-comment"># same as above, but without min_bits or max_bits (used by older clients like putty)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-77', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-78', 'get_int', 'link-54');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-comment"># smoosh the user's preferred size into our own limits</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-79', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-80', 'max_bits', 'link-17');">max_bits</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-81', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-82', 'max_bits', 'link-17');">max_bits</a></tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-83', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-84', 'min_bits', 'link-16');">min_bits</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-85', 'preferred_bits', 'link-18');">preferred_bits</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-86', 'min_bits', 'link-16');">min_bits</a></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-comment"># generate prime</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">pack</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-87', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_get_modulus_pack</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pack</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-88" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-88', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Can\'t do server-side gex with no modulus pack'</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-89', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-90', 'DEBUG', 'link-67');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Picking p (~ %d bits)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-91', 'preferred_bits', 'link-18');">preferred_bits</a></tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">pack</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="paramiko.primes.ModulusPack.get_modulus" class="py-name" href="#" onclick="return doclink('link-92', 'get_modulus', 'link-68');">get_modulus</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-93', 'min_bits', 'link-16');">min_bits</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-94', 'preferred_bits', 'link-18');">preferred_bits</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-95', 'max_bits', 'link-17');">max_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-96" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-96', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-97', 'add_byte', 'link-26');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_GROUP" class="py-name" href="#" onclick="return doclink('link-98', '_MSG_KEXDH_GEX_GROUP', 'link-11');">_MSG_KEXDH_GEX_GROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-99', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-100', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-101', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-102', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-103" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_INIT" class="py-name" href="#" onclick="return doclink('link-103', '_MSG_KEXDH_GEX_INIT', 'link-12');">_MSG_KEXDH_GEX_INIT</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> </tt>
-<a name="KexGex._parse_kexdh_gex_group"></a><div id="KexGex._parse_kexdh_gex_group-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="KexGex._parse_kexdh_gex_group-toggle" onclick="return toggle('KexGex._parse_kexdh_gex_group');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_group">_parse_kexdh_gex_group</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex._parse_kexdh_gex_group-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex._parse_kexdh_gex_group-expanded"><a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method paramiko.Message.get_mpint()=paramiko.Message-class.html#get_mpint"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-104', 'get_mpint', 'link-104');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-105', 'get_mpint', 'link-104');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-comment"># reject if p's bit length &lt; 1024 or &gt; 8192</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-name">bitlen</tt> <tt class="py-op">=</tt> <tt id="link-106" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-106', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-107" class="py-name" targets="Function paramiko.util.bit_length()=paramiko.util-module.html#bit_length"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-107', 'bit_length', 'link-107');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">bitlen</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1024</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">bitlen</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">8192</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-108" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-108', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Server-generated gex p (don\'t ask) is out of range (%d bits)'</tt> <tt class="py-op">%</tt> <tt class="py-name">bitlen</tt><tt class="py-op">)</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-109', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-110" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-110', 'DEBUG', 'link-67');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Got server p (%d bits)'</tt> <tt class="py-op">%</tt> <tt class="py-name">bitlen</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generate_x</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-comment"># now compute e = g^x mod p</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-111" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-111', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-112', 'add_byte', 'link-26');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_INIT" class="py-name" href="#" onclick="return doclink('link-113', '_MSG_KEXDH_GEX_INIT', 'link-12');">_MSG_KEXDH_GEX_INIT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-114', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-115', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-116', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-117" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REPLY" class="py-name" href="#" onclick="return doclink('link-117', '_MSG_KEXDH_GEX_REPLY', 'link-13');">_MSG_KEXDH_GEX_REPLY</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> </tt>
-<a name="KexGex._parse_kexdh_gex_init"></a><div id="KexGex._parse_kexdh_gex_init-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="KexGex._parse_kexdh_gex_init-toggle" onclick="return toggle('KexGex._parse_kexdh_gex_init');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_init">_parse_kexdh_gex_init</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex._parse_kexdh_gex_init-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex._parse_kexdh_gex_init-expanded"><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-118', 'get_mpint', 'link-104');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-119" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-119', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Client kex "e" is out of range'</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generate_x</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-120', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt id="link-121" class="py-name" targets="Method paramiko.Transport.get_server_key()=paramiko.Transport-class.html#get_server_key"><a title="paramiko.Transport.get_server_key" class="py-name" href="#" onclick="return doclink('link-121', 'get_server_key', 'link-121');">get_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-comment"># okay, build up the hash H of (V_C || V_S || I_C || I_S || K_S || min || n || max || p || g || e || f || K)</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">hm</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-122', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name" targets="Method paramiko.HostKeys.add()=paramiko.HostKeys-class.html#add,Method paramiko.Message.add()=paramiko.Message-class.html#add"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-123', 'add', 'link-123');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-124', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_version</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-125', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_version</tt><tt class="py-op">,</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-126', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-127', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt><tt class="py-op">,</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt><tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-128', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-129', 'min_bits', 'link-16');">min_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-130', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-131', 'preferred_bits', 'link-18');">preferred_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt><tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-132', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-133', 'max_bits', 'link-17');">max_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-134', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-135', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-136', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-137', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-138', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">)</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">H</tt> <tt class="py-op">=</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-139', 'new', 'link-139');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hm</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-140', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_set_K_H</tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">,</tt> <tt class="py-name">H</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-comment"># sign it</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-141', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="paramiko.Transport.get_server_key" class="py-name" href="#" onclick="return doclink('link-142', 'get_server_key', 'link-121');">get_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Method paramiko.AgentKey.sign_ssh_data()=paramiko.AgentKey-class.html#sign_ssh_data,Method paramiko.DSSKey.sign_ssh_data()=paramiko.DSSKey-class.html#sign_ssh_data,Method paramiko.PKey.sign_ssh_data()=paramiko.PKey-class.html#sign_ssh_data,Method paramiko.RSAKey.sign_ssh_data()=paramiko.RSAKey-class.html#sign_ssh_data"><a title="paramiko.AgentKey.sign_ssh_data
-paramiko.DSSKey.sign_ssh_data
-paramiko.PKey.sign_ssh_data
-paramiko.RSAKey.sign_ssh_data" class="py-name" href="#" onclick="return doclink('link-143', 'sign_ssh_data', 'link-143');">sign_ssh_data</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-144', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-145', 'rng', 'link-50');">rng</a></tt><tt class="py-op">,</tt> <tt class="py-name">H</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-comment"># send reply</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-146" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-146', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-147', 'add_byte', 'link-26');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-148" class="py-name"><a title="paramiko.kex_gex._MSG_KEXDH_GEX_REPLY" class="py-name" href="#" onclick="return doclink('link-148', '_MSG_KEXDH_GEX_REPLY', 'link-13');">_MSG_KEXDH_GEX_REPLY</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-149', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-150', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-151', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-152', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-153', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_activate_outbound</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> </tt>
-<a name="KexGex._parse_kexdh_gex_reply"></a><div id="KexGex._parse_kexdh_gex_reply-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="KexGex._parse_kexdh_gex_reply-toggle" onclick="return toggle('KexGex._parse_kexdh_gex_reply');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_gex.KexGex-class.html#_parse_kexdh_gex_reply">_parse_kexdh_gex_reply</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGex._parse_kexdh_gex_reply-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGex._parse_kexdh_gex_reply-expanded"><a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">host_key</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-154', 'get_string', 'link-154');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-155', 'get_mpint', 'link-104');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-156', 'get_string', 'link-154');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-157" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-157', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Server kex "f" is out of range'</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-comment"># okay, build up the hash H of (V_C || V_S || I_C || I_S || K_S || min || n || max || p || g || e || f || K)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">hm</tt> <tt class="py-op">=</tt> <tt id="link-158" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-158', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-159', 'add', 'link-123');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-160', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_version</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-161', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_version</tt><tt class="py-op">,</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-162', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-163', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt><tt class="py-op">,</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-name">host_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt><tt class="py-op">:</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-164', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="paramiko.kex_gex.KexGex.min_bits" class="py-name" href="#" onclick="return doclink('link-165', 'min_bits', 'link-16');">min_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-166', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="paramiko.kex_gex.KexGex.preferred_bits" class="py-name" href="#" onclick="return doclink('link-167', 'preferred_bits', 'link-18');">preferred_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">old_style</tt><tt class="py-op">:</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-168', 'add_int', 'link-28');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="paramiko.kex_gex.KexGex.max_bits" class="py-name" href="#" onclick="return doclink('link-169', 'max_bits', 'link-17');">max_bits</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-170', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-171', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">g</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-172', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-173', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-174', 'add_mpint', 'link-72');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-175', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_set_K_H</tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">,</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-176', 'new', 'link-139');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hm</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-177', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_verify_key</tt><tt class="py-op">(</tt><tt class="py-name">host_key</tt><tt class="py-op">,</tt> <tt class="py-name">sig</tt><tt class="py-op">)</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-178', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_activate_outbound</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.kex_gex.KexGex-class.html b/docs/paramiko.kex_gex.KexGex-class.html
deleted file mode 100644
index ddfcb20..0000000
--- a/docs/paramiko.kex_gex.KexGex-class.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.kex_gex.KexGex</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.kex_gex-module.html" onclick="show_private();">Module&nbsp;kex_gex</a> ::
- Class&nbsp;KexGex
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.kex_gex.KexGex-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class KexGex</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.kex_gex-pysrc.html#KexGex">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">KexGex</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.kex_gex.KexGex-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">transport</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.kex_gex-pysrc.html#KexGex.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="start_kex"></a><span class="summary-sig-name">start_kex</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">_test_old_style</span>=<span class="summary-sig-default">False</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.kex_gex-pysrc.html#KexGex.start_kex">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="parse_next"></a><span class="summary-sig-name">parse_next</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">ptype</span>,
- <span class="summary-sig-arg">m</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.kex_gex-pysrc.html#KexGex.parse_next">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="name"></a><span class="summary-name">name</span> = <code title="'diffie-hellman-group-exchange-sha1'"><code class="variable-quote">'</code><code class="variable-string">diffie-hellman-group-exchange-sha1</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="min_bits"></a><span class="summary-name">min_bits</span> = <code title="1024">1024</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="max_bits"></a><span class="summary-name">max_bits</span> = <code title="8192">8192</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="preferred_bits"></a><span class="summary-name">preferred_bits</span> = <code title="2048">2048</code>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">transport</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.kex_gex-pysrc.html#KexGex.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.kex_group1-module.html b/docs/paramiko.kex_group1-module.html
deleted file mode 100644
index 05186e7..0000000
--- a/docs/paramiko.kex_group1-module.html
+++ /dev/null
@@ -1,589 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.kex_group1</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;kex_group1
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.kex_group1-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module kex_group1</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.kex_group1-pysrc.html">source&nbsp;code</a></span></p>
-<p>Standard SSH key exchange (&quot;kex&quot; if you wanna sound cool).
- Diffie-Hellman of 1024 bit key halves, using a known &quot;p&quot; prime
- and &quot;g&quot; generator.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_group1.KexGroup1-class.html" class="summary-name">KexGroup1</a>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_group1-module.html#P" class="summary-name">P</a> = <code title="1797693134862315907708391567937874531978602960487560117064444236841971\
-8021615851936894783379586492554150218056548598050364644054819923910005\
-0792877003355816639229553136239076508735759914822574862575007425302077\
-4477125895509579377784244424266173347276292993876687092056060502708108\
-42907692932019128194467627007">1797693134862315907708391567937874531978602960487560117064<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="G"></a><span class="summary-name">G</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_group1-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.kex_group1-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="P"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">P</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-1797693134862315907708391567937874531978602960487560117064444236841971<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-8021615851936894783379586492554150218056548598050364644054819923910005<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-0792877003355816639229553136239076508735759914822574862575007425302077<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-4477125895509579377784244424266173347276292993876687092056060502708108<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-42907692932019128194467627007
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.kex_group1-pysrc.html b/docs/paramiko.kex_group1-pysrc.html
deleted file mode 100644
index 1a3f340..0000000
--- a/docs/paramiko.kex_group1-pysrc.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.kex_group1</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;kex_group1
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.kex_group1-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.kex_group1-module.html" onclick="show_private();">Module paramiko.kex_group1</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Standard SSH key exchange ("kex" if you wanna sound cool). Diffie-Hellman of</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">1024 bit key halves, using a known "p" prime and "g" generator.</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-6', 'Message', 'link-6');">Message</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-8', 'ssh_exception', 'link-8');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-9', 'SSHException', 'link-9');">SSHException</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable paramiko.kex_group1._MSG_KEXDH_INIT=paramiko.kex_group1-module.html#_MSG_KEXDH_INIT"><a title="paramiko.kex_group1._MSG_KEXDH_INIT" class="py-name" href="#" onclick="return doclink('link-10', '_MSG_KEXDH_INIT', 'link-10');">_MSG_KEXDH_INIT</a></tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Variable paramiko.kex_group1._MSG_KEXDH_REPLY=paramiko.kex_group1-module.html#_MSG_KEXDH_REPLY"><a title="paramiko.kex_group1._MSG_KEXDH_REPLY" class="py-name" href="#" onclick="return doclink('link-11', '_MSG_KEXDH_REPLY', 'link-11');">_MSG_KEXDH_REPLY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-number">32</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-comment"># draft-ietf-secsh-transport-09.txt, page 17</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable paramiko.kex_group1.P=paramiko.kex_group1-module.html#P"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-12', 'P', 'link-12');">P</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFFL</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable paramiko.kex_group1.G=paramiko.kex_group1-module.html#G"><a title="paramiko.kex_group1.G" class="py-name" href="#" onclick="return doclink('link-13', 'G', 'link-13');">G</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1"></a><div id="KexGroup1-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="KexGroup1-toggle" onclick="return toggle('KexGroup1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html">KexGroup1</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="KexGroup1-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-14" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-14');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'diffie-hellman-group1-sha1'</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1.__init__"></a><div id="KexGroup1.__init__-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="KexGroup1.__init__-toggle" onclick="return toggle('KexGroup1.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGroup1.__init__-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-15', 'transport', 'link-15');">transport</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-16', 'transport', 'link-15');">transport</a></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt>
-</div><a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1.start_kex"></a><div id="KexGroup1.start_kex-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="KexGroup1.start_kex-toggle" onclick="return toggle('KexGroup1.start_kex');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html#start_kex">start_kex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1.start_kex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGroup1.start_kex-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generate_x</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-17', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-comment"># compute f = g^x mod p, but don't send it yet</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="paramiko.kex_group1.G" class="py-name" href="#" onclick="return doclink('link-18', 'G', 'link-13');">G</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-19', 'P', 'link-12');">P</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-20', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="paramiko.kex_group1._MSG_KEXDH_INIT" class="py-name" href="#" onclick="return doclink('link-21', '_MSG_KEXDH_INIT', 'link-10');">_MSG_KEXDH_INIT</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-comment"># compute e = g^x mod p (where g=2), and send it</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt id="link-22" class="py-name"><a title="paramiko.kex_group1.G" class="py-name" href="#" onclick="return doclink('link-22', 'G', 'link-13');">G</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-23', 'P', 'link-12');">P</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-24', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-25', 'add_byte', 'link-25');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="paramiko.kex_group1._MSG_KEXDH_INIT" class="py-name" href="#" onclick="return doclink('link-26', '_MSG_KEXDH_INIT', 'link-10');">_MSG_KEXDH_INIT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method paramiko.Message.add_mpint()=paramiko.Message-class.html#add_mpint"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-27', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-28', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-29', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="paramiko.kex_group1._MSG_KEXDH_REPLY" class="py-name" href="#" onclick="return doclink('link-30', '_MSG_KEXDH_REPLY', 'link-11');">_MSG_KEXDH_REPLY</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1.parse_next"></a><div id="KexGroup1.parse_next-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="KexGroup1.parse_next-toggle" onclick="return toggle('KexGroup1.parse_next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html#parse_next">parse_next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ptype</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1.parse_next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGroup1.parse_next-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-31', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-32" class="py-name"><a title="paramiko.kex_group1._MSG_KEXDH_INIT" class="py-name" href="#" onclick="return doclink('link-32', '_MSG_KEXDH_INIT', 'link-10');">_MSG_KEXDH_INIT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_init</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-33', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-34" class="py-name"><a title="paramiko.kex_group1._MSG_KEXDH_REPLY" class="py-name" href="#" onclick="return doclink('link-34', '_MSG_KEXDH_REPLY', 'link-11');">_MSG_KEXDH_REPLY</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kexdh_reply</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-35" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-35', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'KexGroup1 asked to handle packet type %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">ptype</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1._generate_x"></a><div id="KexGroup1._generate_x-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="KexGroup1._generate_x-toggle" onclick="return toggle('KexGroup1._generate_x');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html#_generate_x">_generate_x</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1._generate_x-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGroup1._generate_x-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-comment"># generate an "x" (1 &lt; x &lt; q), where q is (p-1)/2.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-comment"># p is a 128-byte (1024-bit) number, where the first 64 bits are 1. </tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-comment"># therefore q can be approximated as a 2^1023. we drop the subset of</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># potential x where the first 63 bits are 1, because some of those will be</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-comment"># larger than q (but this is a tiny tiny subset of potential x).</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">x_bytes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-36', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-37', 'rng', 'link-37');">rng</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-38', 'read', 'link-38');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">x_bytes</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">x_bytes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x7f</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">x_bytes</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">x_bytes</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> \ </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">x_bytes</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\x00\x00\x00\x00\x00\x00\x00\x00'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-39', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-40', 'inflate_long', 'link-40');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">x_bytes</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1._parse_kexdh_reply"></a><div id="KexGroup1._parse_kexdh_reply-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="KexGroup1._parse_kexdh_reply-toggle" onclick="return toggle('KexGroup1._parse_kexdh_reply');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html#_parse_kexdh_reply">_parse_kexdh_reply</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1._parse_kexdh_reply-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGroup1._parse_kexdh_reply-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment"># client mode</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">host_key</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-41', 'get_string', 'link-41');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method paramiko.Message.get_mpint()=paramiko.Message-class.html#get_mpint"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-42', 'get_mpint', 'link-42');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">&gt;</tt> <tt id="link-43" class="py-name"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-43', 'P', 'link-12');">P</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-44" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-44', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Server kex "f" is out of range'</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-45', 'get_string', 'link-41');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-46', 'P', 'link-12');">P</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment"># okay, build up the hash H of (V_C || V_S || I_C || I_S || K_S || e || f || K)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">hm</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-47', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method paramiko.HostKeys.add()=paramiko.HostKeys-class.html#add,Method paramiko.Message.add()=paramiko.Message-class.html#add"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-48', 'add', 'link-48');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-49', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_version</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-50', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_version</tt><tt class="py-op">,</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-51', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-52', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-53', 'add_string', 'link-53');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">host_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-54', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-55', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-56', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-57', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_set_K_H</tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">,</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-58', 'new', 'link-58');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hm</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-59', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_verify_key</tt><tt class="py-op">(</tt><tt class="py-name">host_key</tt><tt class="py-op">,</tt> <tt class="py-name">sig</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-60', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_activate_outbound</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
-<a name="KexGroup1._parse_kexdh_init"></a><div id="KexGroup1._parse_kexdh_init-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="KexGroup1._parse_kexdh_init-toggle" onclick="return toggle('KexGroup1._parse_kexdh_init');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.kex_group1.KexGroup1-class.html#_parse_kexdh_init">_parse_kexdh_init</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="KexGroup1._parse_kexdh_init-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="KexGroup1._parse_kexdh_init-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-comment"># server mode</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-61', 'get_mpint', 'link-42');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">&gt;</tt> <tt id="link-62" class="py-name"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-62', 'P', 'link-12');">P</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-63', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Client kex "e" is out of range'</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name"><a title="paramiko.kex_group1.P" class="py-name" href="#" onclick="return doclink('link-64', 'P', 'link-12');">P</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-65', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method paramiko.Transport.get_server_key()=paramiko.Transport-class.html#get_server_key"><a title="paramiko.Transport.get_server_key" class="py-name" href="#" onclick="return doclink('link-66', 'get_server_key', 'link-66');">get_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-comment"># okay, build up the hash H of (V_C || V_S || I_C || I_S || K_S || e || f || K)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">hm</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-67', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-68', 'add', 'link-48');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-69', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_version</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-70', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_version</tt><tt class="py-op">,</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-71', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-72', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-73', 'add_string', 'link-53');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-74', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-75', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">hm</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-76', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">H</tt> <tt class="py-op">=</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-77', 'new', 'link-58');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hm</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-78', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_set_K_H</tt><tt class="py-op">(</tt><tt class="py-name">K</tt><tt class="py-op">,</tt> <tt class="py-name">H</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-comment"># sign it</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-79', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="paramiko.Transport.get_server_key" class="py-name" href="#" onclick="return doclink('link-80', 'get_server_key', 'link-66');">get_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name" targets="Method paramiko.AgentKey.sign_ssh_data()=paramiko.AgentKey-class.html#sign_ssh_data,Method paramiko.DSSKey.sign_ssh_data()=paramiko.DSSKey-class.html#sign_ssh_data,Method paramiko.PKey.sign_ssh_data()=paramiko.PKey-class.html#sign_ssh_data,Method paramiko.RSAKey.sign_ssh_data()=paramiko.RSAKey-class.html#sign_ssh_data"><a title="paramiko.AgentKey.sign_ssh_data
-paramiko.DSSKey.sign_ssh_data
-paramiko.PKey.sign_ssh_data
-paramiko.RSAKey.sign_ssh_data" class="py-name" href="#" onclick="return doclink('link-81', 'sign_ssh_data', 'link-81');">sign_ssh_data</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-82', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-83', 'rng', 'link-37');">rng</a></tt><tt class="py-op">,</tt> <tt class="py-name">H</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-comment"># send reply</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-84" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-84', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-85', 'add_byte', 'link-25');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-86" class="py-name"><a title="paramiko.kex_group1._MSG_KEXDH_REPLY" class="py-name" href="#" onclick="return doclink('link-86', '_MSG_KEXDH_REPLY', 'link-11');">_MSG_KEXDH_REPLY</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-87', 'add_string', 'link-53');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-88', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-89', 'add_string', 'link-53');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-90', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-91', 'transport', 'link-15');">transport</a></tt><tt class="py-op">.</tt><tt class="py-name">_activate_outbound</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.kex_group1.KexGroup1-class.html b/docs/paramiko.kex_group1.KexGroup1-class.html
deleted file mode 100644
index b440267..0000000
--- a/docs/paramiko.kex_group1.KexGroup1-class.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.kex_group1.KexGroup1</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.kex_group1-module.html" onclick="show_private();">Module&nbsp;kex_group1</a> ::
- Class&nbsp;KexGroup1
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.kex_group1.KexGroup1-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class KexGroup1</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.kex_group1-pysrc.html#KexGroup1">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">KexGroup1</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.kex_group1.KexGroup1-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">transport</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.kex_group1-pysrc.html#KexGroup1.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="start_kex"></a><span class="summary-sig-name">start_kex</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.kex_group1-pysrc.html#KexGroup1.start_kex">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="parse_next"></a><span class="summary-sig-name">parse_next</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">ptype</span>,
- <span class="summary-sig-arg">m</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.kex_group1-pysrc.html#KexGroup1.parse_next">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="name"></a><span class="summary-name">name</span> = <code title="'diffie-hellman-group1-sha1'"><code class="variable-quote">'</code><code class="variable-string">diffie-hellman-group1-sha1</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">transport</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.kex_group1-pysrc.html#KexGroup1.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.logging22-module.html b/docs/paramiko.logging22-module.html
deleted file mode 100644
index 9a4ed69..0000000
--- a/docs/paramiko.logging22-module.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.logging22</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;logging22
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.logging22-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module logging22</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.logging22-pysrc.html">source&nbsp;code</a></span></p>
-<p>Stub out logging on python &lt; 2.3.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.logging22.logger-class.html" class="summary-name">logger</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.logging22.StreamHandler-class.html" class="summary-name">StreamHandler</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.logging22.Formatter-class.html" class="summary-name">Formatter</a>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Functions</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="getLogger"></a><span class="summary-sig-name">getLogger</span>(<span class="summary-sig-arg">name</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#getLogger">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.logging22-pysrc.html b/docs/paramiko.logging22-pysrc.html
deleted file mode 100644
index b4b8079..0000000
--- a/docs/paramiko.logging22-pysrc.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.logging22</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;logging22
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.logging22-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.logging22-module.html">Module paramiko.logging22</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-docstring">Stub out logging on python &lt; 2.3.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-0', 'DEBUG', 'link-0');">DEBUG</a></tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable paramiko.auth_handler.INFO=paramiko.auth_handler-module.html#INFO,Variable paramiko.channel.INFO=paramiko.channel-module.html#INFO,Variable paramiko.client.INFO=paramiko.client-module.html#INFO,Variable paramiko.common.INFO=paramiko.common-module.html#INFO,Variable paramiko.dsskey.INFO=paramiko.dsskey-module.html#INFO,Variable paramiko.hostkeys.INFO=paramiko.hostkeys-module.html#INFO,Variable paramiko.kex_gex.INFO=paramiko.kex_gex-module.html#INFO,Variable paramiko.kex_group1.INFO=paramiko.kex_group1-module.html#INFO,Variable paramiko.logging22.INFO=paramiko.logging22-module.html#INFO,Variable paramiko.packet.INFO=paramiko.packet-module.html#INFO,Variable paramiko.pkey.INFO=paramiko.pkey-module.html#INFO,Variable paramiko.rsakey.INFO=paramiko.rsakey-module.html#INFO,Variable paramiko.server.INFO=paramiko.server-module.html#INFO,Variable paramiko.sftp.INFO=paramiko.sftp-module.html#INFO,Variable paramiko.sftp_attr.INFO=paramiko.sftp_attr-module.html#INFO,Variable paramiko.sftp_client.INFO=paramiko.sftp_client-module.html#INFO,Variable paramiko.sftp_file.INFO=paramiko.sftp_file-module.html#INFO,Variable paramiko.sftp_handle.INFO=paramiko.sftp_handle-module.html#INFO,Variable paramiko.sftp_server.INFO=paramiko.sftp_server-module.html#INFO,Variable paramiko.sftp_si.INFO=paramiko.sftp_si-module.html#INFO,Variable paramiko.transport.INFO=paramiko.transport-module.html#INFO,Variable paramiko.util.INFO=paramiko.util-module.html#INFO"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-1', 'INFO', 'link-1');">INFO</a></tt> <tt class="py-op">=</tt> <tt class="py-number">20</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable paramiko.auth_handler.WARNING=paramiko.auth_handler-module.html#WARNING,Variable paramiko.channel.WARNING=paramiko.channel-module.html#WARNING,Variable paramiko.client.WARNING=paramiko.client-module.html#WARNING,Variable paramiko.common.WARNING=paramiko.common-module.html#WARNING,Variable paramiko.dsskey.WARNING=paramiko.dsskey-module.html#WARNING,Variable paramiko.hostkeys.WARNING=paramiko.hostkeys-module.html#WARNING,Variable paramiko.kex_gex.WARNING=paramiko.kex_gex-module.html#WARNING,Variable paramiko.kex_group1.WARNING=paramiko.kex_group1-module.html#WARNING,Variable paramiko.logging22.WARNING=paramiko.logging22-module.html#WARNING,Variable paramiko.packet.WARNING=paramiko.packet-module.html#WARNING,Variable paramiko.pkey.WARNING=paramiko.pkey-module.html#WARNING,Variable paramiko.rsakey.WARNING=paramiko.rsakey-module.html#WARNING,Variable paramiko.server.WARNING=paramiko.server-module.html#WARNING,Variable paramiko.sftp.WARNING=paramiko.sftp-module.html#WARNING,Variable paramiko.sftp_attr.WARNING=paramiko.sftp_attr-module.html#WARNING,Variable paramiko.sftp_client.WARNING=paramiko.sftp_client-module.html#WARNING,Variable paramiko.sftp_file.WARNING=paramiko.sftp_file-module.html#WARNING,Variable paramiko.sftp_handle.WARNING=paramiko.sftp_handle-module.html#WARNING,Variable paramiko.sftp_server.WARNING=paramiko.sftp_server-module.html#WARNING,Variable paramiko.sftp_si.WARNING=paramiko.sftp_si-module.html#WARNING,Variable paramiko.transport.WARNING=paramiko.transport-module.html#WARNING,Variable paramiko.util.WARNING=paramiko.util-module.html#WARNING"><a title="paramiko.auth_handler.WARNING
-paramiko.channel.WARNING
-paramiko.client.WARNING
-paramiko.common.WARNING
-paramiko.dsskey.WARNING
-paramiko.hostkeys.WARNING
-paramiko.kex_gex.WARNING
-paramiko.kex_group1.WARNING
-paramiko.logging22.WARNING
-paramiko.packet.WARNING
-paramiko.pkey.WARNING
-paramiko.rsakey.WARNING
-paramiko.server.WARNING
-paramiko.sftp.WARNING
-paramiko.sftp_attr.WARNING
-paramiko.sftp_client.WARNING
-paramiko.sftp_file.WARNING
-paramiko.sftp_handle.WARNING
-paramiko.sftp_server.WARNING
-paramiko.sftp_si.WARNING
-paramiko.transport.WARNING
-paramiko.util.WARNING" class="py-name" href="#" onclick="return doclink('link-2', 'WARNING', 'link-2');">WARNING</a></tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable paramiko.auth_handler.ERROR=paramiko.auth_handler-module.html#ERROR,Variable paramiko.channel.ERROR=paramiko.channel-module.html#ERROR,Variable paramiko.client.ERROR=paramiko.client-module.html#ERROR,Variable paramiko.common.ERROR=paramiko.common-module.html#ERROR,Variable paramiko.dsskey.ERROR=paramiko.dsskey-module.html#ERROR,Variable paramiko.hostkeys.ERROR=paramiko.hostkeys-module.html#ERROR,Variable paramiko.kex_gex.ERROR=paramiko.kex_gex-module.html#ERROR,Variable paramiko.kex_group1.ERROR=paramiko.kex_group1-module.html#ERROR,Variable paramiko.logging22.ERROR=paramiko.logging22-module.html#ERROR,Variable paramiko.packet.ERROR=paramiko.packet-module.html#ERROR,Variable paramiko.pkey.ERROR=paramiko.pkey-module.html#ERROR,Variable paramiko.rsakey.ERROR=paramiko.rsakey-module.html#ERROR,Variable paramiko.server.ERROR=paramiko.server-module.html#ERROR,Variable paramiko.sftp.ERROR=paramiko.sftp-module.html#ERROR,Variable paramiko.sftp_attr.ERROR=paramiko.sftp_attr-module.html#ERROR,Variable paramiko.sftp_client.ERROR=paramiko.sftp_client-module.html#ERROR,Variable paramiko.sftp_file.ERROR=paramiko.sftp_file-module.html#ERROR,Variable paramiko.sftp_handle.ERROR=paramiko.sftp_handle-module.html#ERROR,Variable paramiko.sftp_server.ERROR=paramiko.sftp_server-module.html#ERROR,Variable paramiko.sftp_si.ERROR=paramiko.sftp_si-module.html#ERROR,Variable paramiko.transport.ERROR=paramiko.transport-module.html#ERROR,Variable paramiko.util.ERROR=paramiko.util-module.html#ERROR"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-3', 'ERROR', 'link-3');">ERROR</a></tt> <tt class="py-op">=</tt> <tt class="py-number">40</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable paramiko.auth_handler.CRITICAL=paramiko.auth_handler-module.html#CRITICAL,Variable paramiko.channel.CRITICAL=paramiko.channel-module.html#CRITICAL,Variable paramiko.client.CRITICAL=paramiko.client-module.html#CRITICAL,Variable paramiko.common.CRITICAL=paramiko.common-module.html#CRITICAL,Variable paramiko.dsskey.CRITICAL=paramiko.dsskey-module.html#CRITICAL,Variable paramiko.hostkeys.CRITICAL=paramiko.hostkeys-module.html#CRITICAL,Variable paramiko.kex_gex.CRITICAL=paramiko.kex_gex-module.html#CRITICAL,Variable paramiko.kex_group1.CRITICAL=paramiko.kex_group1-module.html#CRITICAL,Variable paramiko.logging22.CRITICAL=paramiko.logging22-module.html#CRITICAL,Variable paramiko.packet.CRITICAL=paramiko.packet-module.html#CRITICAL,Variable paramiko.pkey.CRITICAL=paramiko.pkey-module.html#CRITICAL,Variable paramiko.rsakey.CRITICAL=paramiko.rsakey-module.html#CRITICAL,Variable paramiko.server.CRITICAL=paramiko.server-module.html#CRITICAL,Variable paramiko.sftp.CRITICAL=paramiko.sftp-module.html#CRITICAL,Variable paramiko.sftp_attr.CRITICAL=paramiko.sftp_attr-module.html#CRITICAL,Variable paramiko.sftp_client.CRITICAL=paramiko.sftp_client-module.html#CRITICAL,Variable paramiko.sftp_file.CRITICAL=paramiko.sftp_file-module.html#CRITICAL,Variable paramiko.sftp_handle.CRITICAL=paramiko.sftp_handle-module.html#CRITICAL,Variable paramiko.sftp_server.CRITICAL=paramiko.sftp_server-module.html#CRITICAL,Variable paramiko.sftp_si.CRITICAL=paramiko.sftp_si-module.html#CRITICAL,Variable paramiko.transport.CRITICAL=paramiko.transport-module.html#CRITICAL,Variable paramiko.util.CRITICAL=paramiko.util-module.html#CRITICAL"><a title="paramiko.auth_handler.CRITICAL
-paramiko.channel.CRITICAL
-paramiko.client.CRITICAL
-paramiko.common.CRITICAL
-paramiko.dsskey.CRITICAL
-paramiko.hostkeys.CRITICAL
-paramiko.kex_gex.CRITICAL
-paramiko.kex_group1.CRITICAL
-paramiko.logging22.CRITICAL
-paramiko.packet.CRITICAL
-paramiko.pkey.CRITICAL
-paramiko.rsakey.CRITICAL
-paramiko.server.CRITICAL
-paramiko.sftp.CRITICAL
-paramiko.sftp_attr.CRITICAL
-paramiko.sftp_client.CRITICAL
-paramiko.sftp_file.CRITICAL
-paramiko.sftp_handle.CRITICAL
-paramiko.sftp_server.CRITICAL
-paramiko.sftp_si.CRITICAL
-paramiko.transport.CRITICAL
-paramiko.util.CRITICAL" class="py-name" href="#" onclick="return doclink('link-4', 'CRITICAL', 'link-4');">CRITICAL</a></tt> <tt class="py-op">=</tt> <tt class="py-number">50</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
-<a name="getLogger"></a><div id="getLogger-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="getLogger-toggle" onclick="return toggle('getLogger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22-module.html#getLogger">getLogger</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="getLogger-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="getLogger-expanded"><a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-5" class="py-name" targets="Variable paramiko.logging22._logger=paramiko.logging22-module.html#_logger"><a title="paramiko.logging22._logger" class="py-name" href="#" onclick="return doclink('link-5', '_logger', 'link-5');">_logger</a></tt> </tt>
-</div><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
-<a name="logger"></a><div id="logger-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="logger-toggle" onclick="return toggle('logger');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.logging22.logger-class.html">logger</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="logger-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="logger-expanded"><a name="logger.__init__"></a><div id="logger.__init__-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="logger.__init__-toggle" onclick="return toggle('logger.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.logger-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="logger.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="logger.__init__-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handlers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">level</tt> <tt class="py-op">=</tt> <tt id="link-6" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-6', 'ERROR', 'link-3');">ERROR</a></tt> </tt>
-</div><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> </tt>
-<a name="logger.setLevel"></a><div id="logger.setLevel-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="logger.setLevel-toggle" onclick="return toggle('logger.setLevel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.logger-class.html#setLevel">setLevel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="logger.setLevel-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="logger.setLevel-expanded"><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">level</tt> <tt class="py-op">=</tt> <tt class="py-name">level</tt> </tt>
-</div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
-<a name="logger.addHandler"></a><div id="logger.addHandler-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="logger.addHandler-toggle" onclick="return toggle('logger.addHandler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.logger-class.html#addHandler">addHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">h</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="logger.addHandler-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="logger.addHandler-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handlers</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">h</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
-<a name="logger.addFilter"></a><div id="logger.addFilter-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="logger.addFilter-toggle" onclick="return toggle('logger.addFilter');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.logger-class.html#addFilter">addFilter</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filter</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="logger.addFilter-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="logger.addFilter-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
-<a name="logger.log"></a><div id="logger.log-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="logger.log-toggle" onclick="return toggle('logger.log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.logger-class.html#log">log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="logger.log-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="logger.log-expanded"><a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">level</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">level</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">h</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handlers</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-name">h</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-7', 'write', 'link-7');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-name">h</tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method paramiko.BufferedFile.flush()=paramiko.BufferedFile-class.html#flush"><a title="paramiko.BufferedFile.flush" class="py-name" href="#" onclick="return doclink('link-8', 'flush', 'link-8');">flush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> </tt>
-<a name="StreamHandler"></a><div id="StreamHandler-def"><a name="L55"></a><tt class="py-lineno">55</tt> <a class="py-toggle" href="#" id="StreamHandler-toggle" onclick="return toggle('StreamHandler');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.logging22.StreamHandler-class.html">StreamHandler</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StreamHandler-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="StreamHandler-expanded"><a name="StreamHandler.__init__"></a><div id="StreamHandler.__init__-def"><a name="L56"></a><tt class="py-lineno">56</tt> <a class="py-toggle" href="#" id="StreamHandler.__init__-toggle" onclick="return toggle('StreamHandler.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.StreamHandler-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">f</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StreamHandler.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StreamHandler.__init__-expanded"><a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> </tt>
-<a name="StreamHandler.setFormatter"></a><div id="StreamHandler.setFormatter-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="StreamHandler.setFormatter-toggle" onclick="return toggle('StreamHandler.setFormatter');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.StreamHandler-class.html#setFormatter">setFormatter</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">f</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StreamHandler.setFormatter-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StreamHandler.setFormatter-expanded"><a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> </tt>
-<a name="Formatter"></a><div id="Formatter-def"><a name="L62"></a><tt class="py-lineno">62</tt> <a class="py-toggle" href="#" id="Formatter-toggle" onclick="return toggle('Formatter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.logging22.Formatter-class.html">Formatter</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Formatter-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Formatter-expanded"><a name="Formatter.__init__"></a><div id="Formatter.__init__-def"><a name="L63"></a><tt class="py-lineno">63</tt> <a class="py-toggle" href="#" id="Formatter.__init__-toggle" onclick="return toggle('Formatter.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.logging22.Formatter-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">y</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Formatter.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Formatter.__init__-expanded"><a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"><tt id="link-9" class="py-name"><a title="paramiko.logging22._logger" class="py-name" href="#" onclick="return doclink('link-9', '_logger', 'link-5');">_logger</a></tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name" targets="Class paramiko.logging22.logger=paramiko.logging22.logger-class.html"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-10', 'logger', 'link-10');">logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:06 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.logging22.Formatter-class.html b/docs/paramiko.logging22.Formatter-class.html
deleted file mode 100644
index 4fcf2cc..0000000
--- a/docs/paramiko.logging22.Formatter-class.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.logging22.Formatter</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.logging22-module.html">Module&nbsp;logging22</a> ::
- Class&nbsp;Formatter
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.logging22.Formatter-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Formatter</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.logging22-pysrc.html#Formatter">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">Formatter</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.logging22.Formatter-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">x</span>,
- <span class="summary-sig-arg">y</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#Formatter.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">x</span>,
- <span class="sig-arg">y</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.logging22-pysrc.html#Formatter.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.logging22.StreamHandler-class.html b/docs/paramiko.logging22.StreamHandler-class.html
deleted file mode 100644
index ec646d7..0000000
--- a/docs/paramiko.logging22.StreamHandler-class.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.logging22.StreamHandler</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.logging22-module.html">Module&nbsp;logging22</a> ::
- Class&nbsp;StreamHandler
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.logging22.StreamHandler-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class StreamHandler</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.logging22-pysrc.html#StreamHandler">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">StreamHandler</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.logging22.StreamHandler-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">f</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#StreamHandler.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="setFormatter"></a><span class="summary-sig-name">setFormatter</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">f</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#StreamHandler.setFormatter">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">f</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.logging22-pysrc.html#StreamHandler.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.logging22.logger-class.html b/docs/paramiko.logging22.logger-class.html
deleted file mode 100644
index 420aeee..0000000
--- a/docs/paramiko.logging22.logger-class.html
+++ /dev/null
@@ -1,274 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.logging22.logger</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.logging22-module.html">Module&nbsp;logging22</a> ::
- Class&nbsp;logger
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.logging22.logger-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class logger</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.logging22-pysrc.html#logger">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">logger</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.logging22.logger-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#logger.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="setLevel"></a><span class="summary-sig-name">setLevel</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">level</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#logger.setLevel">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="addHandler"></a><span class="summary-sig-name">addHandler</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">h</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#logger.addHandler">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="addFilter"></a><span class="summary-sig-name">addFilter</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filter</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#logger.addFilter">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="log"></a><span class="summary-sig-name">log</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">level</span>,
- <span class="summary-sig-arg">text</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.logging22-pysrc.html#logger.log">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.logging22-pysrc.html#logger.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.message-module.html b/docs/paramiko.message-module.html
deleted file mode 100644
index 9f7103e..0000000
--- a/docs/paramiko.message-module.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.message</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;message
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.message-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module message</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.message-pysrc.html">source&nbsp;code</a></span></p>
-<p>Implementation of an SSH2 &quot;message&quot;.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.message-pysrc.html b/docs/paramiko.message-pysrc.html
deleted file mode 100644
index 723920e..0000000
--- a/docs/paramiko.message-pysrc.html
+++ /dev/null
@@ -1,423 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.message</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;message
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.message-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.message-module.html" onclick="show_private();">Module paramiko.message</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Implementation of an SSH2 "message".</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">cStringIO</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="Message"></a><div id="Message-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="Message-toggle" onclick="return toggle('Message');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.message.Message-class.html">Message</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Message-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> An SSH2 I{Message} is a stream of bytes that encodes some combination of</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> strings, integers, bools, and infinite-precision integers (known in python</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"> as I{long}s). This class builds or breaks down such a byte stream.</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> Normally you don't need to deal with anything this low-level, but it's</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> exposed for people implementing custom extensions, or features that</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> paramiko doesn't support yet.</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
-<a name="Message.__init__"></a><div id="Message.__init__-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="Message.__init__-toggle" onclick="return toggle('Message.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.__init__-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> Create a new SSH2 Message.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> @param content: the byte stream to use as the Message content (passed</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> in only when decomposing a Message).</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> @type content: string</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">content</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module paramiko.packet=paramiko.packet-module.html"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-2', 'packet', 'link-2');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">cStringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-3', 'packet', 'link-2');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">cStringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
-<a name="Message.__str__"></a><div id="Message.__str__-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="Message.__str__-toggle" onclick="return toggle('Message.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.__str__-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> Return the byte stream content of this Message, as a string.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> @return: the contents of this Message.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-4', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
-<a name="Message.__repr__"></a><div id="Message.__repr__-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="Message.__repr__-toggle" onclick="return toggle('Message.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.__repr__-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> Returns a string representation of this object, for debugging.</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'paramiko.Message('</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-5', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">')'</tt> </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> </tt>
-<a name="Message.rewind"></a><div id="Message.rewind-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="Message.rewind-toggle" onclick="return toggle('Message.rewind');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#rewind">rewind</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.rewind-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.rewind-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> Rewind the message to the beginning as if no items had been parsed</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> out of it yet.</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-6', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method paramiko.BufferedFile.seek()=paramiko.BufferedFile-class.html#seek,Method paramiko.SFTPFile.seek()=paramiko.SFTPFile-class.html#seek"><a title="paramiko.BufferedFile.seek
-paramiko.SFTPFile.seek" class="py-name" href="#" onclick="return doclink('link-7', 'seek', 'link-7');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
-<a name="Message.get_remainder"></a><div id="Message.get_remainder-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="Message.get_remainder-toggle" onclick="return toggle('Message.get_remainder');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_remainder">get_remainder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_remainder-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_remainder-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> Return the bytes of this Message that haven't already been parsed and</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> returned.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> @return: a string of the bytes not parsed yet.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-8', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method paramiko.BufferedFile.tell()=paramiko.BufferedFile-class.html#tell"><a title="paramiko.BufferedFile.tell" class="py-name" href="#" onclick="return doclink('link-9', 'tell', 'link-9');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">remainder</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-10', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-11', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-12', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="paramiko.BufferedFile.seek
-paramiko.SFTPFile.seek" class="py-name" href="#" onclick="return doclink('link-13', 'seek', 'link-7');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">position</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">remainder</tt> </tt>
-</div><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt>
-<a name="Message.get_so_far"></a><div id="Message.get_so_far-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="Message.get_so_far-toggle" onclick="return toggle('Message.get_so_far');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_so_far">get_so_far</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_so_far-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_so_far-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> Returns the bytes of this Message that have been parsed and returned.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> The string passed into a Message's constructor can be regenerated by</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> concatenating C{get_so_far} and L{get_remainder}.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> @return: a string of the bytes parsed so far.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-14', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="paramiko.BufferedFile.tell" class="py-name" href="#" onclick="return doclink('link-15', 'tell', 'link-9');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method paramiko.Message.rewind()=paramiko.Message-class.html#rewind"><a title="paramiko.Message.rewind" class="py-name" href="#" onclick="return doclink('link-16', 'rewind', 'link-16');">rewind</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-17', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-18', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">position</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="Message.get_bytes"></a><div id="Message.get_bytes-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="Message.get_bytes-toggle" onclick="return toggle('Message.get_bytes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_bytes">get_bytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_bytes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_bytes-expanded"><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> Return the next C{n} bytes of the Message, without decomposing into</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> an int, string, etc. Just the raw bytes are returned.</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> @return: a string of the next C{n} bytes of the Message, or a string</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> of C{n} zero bytes, if there aren't C{n} bytes remaining.</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-19', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-20', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">n</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> <tt class="py-op">+</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
-</div><a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> </tt>
-<a name="Message.get_byte"></a><div id="Message.get_byte-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="Message.get_byte-toggle" onclick="return toggle('Message.get_byte');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_byte">get_byte</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_byte-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_byte-expanded"><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> Return the next byte of the Message, without decomposing it. This</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> is equivalent to L{get_bytes(1)&lt;get_bytes&gt;}.</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> @return: the next byte of the Message, or C{'\000'} if there aren't</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> any bytes remaining.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method paramiko.Message.get_bytes()=paramiko.Message-class.html#get_bytes"><a title="paramiko.Message.get_bytes" class="py-name" href="#" onclick="return doclink('link-21', 'get_bytes', 'link-21');">get_bytes</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt>
-<a name="Message.get_boolean"></a><div id="Message.get_boolean-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="Message.get_boolean-toggle" onclick="return toggle('Message.get_boolean');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_boolean">get_boolean</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_boolean-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_boolean-expanded"><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> Fetch a boolean from the stream.</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} or C{False} (from the Message).</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.Message.get_bytes" class="py-name" href="#" onclick="return doclink('link-22', 'get_bytes', 'link-21');">get_bytes</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\x00'</tt> </tt>
-</div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
-<a name="Message.get_int"></a><div id="Message.get_int-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="Message.get_int-toggle" onclick="return toggle('Message.get_int');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_int">get_int</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_int-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_int-expanded"><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> Fetch an int from the stream.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> @return: a 32-bit unsigned integer.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.Message.get_bytes" class="py-name" href="#" onclick="return doclink('link-23', 'get_bytes', 'link-21');">get_bytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
-<a name="Message.get_int64"></a><div id="Message.get_int64-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="Message.get_int64-toggle" onclick="return toggle('Message.get_int64');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_int64">get_int64</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_int64-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_int64-expanded"><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> Fetch a 64-bit int from the stream.</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"> @return: a 64-bit unsigned integer.</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: long</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;Q'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.Message.get_bytes" class="py-name" href="#" onclick="return doclink('link-24', 'get_bytes', 'link-21');">get_bytes</a></tt><tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt>
-<a name="Message.get_mpint"></a><div id="Message.get_mpint-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="Message.get_mpint-toggle" onclick="return toggle('Message.get_mpint');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_mpint">get_mpint</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_mpint-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_mpint-expanded"><a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> Fetch a long int (mpint) from the stream.</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> @return: an arbitrary-length integer.</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: long</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-25" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-25', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-26', 'inflate_long', 'link-26');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-27', 'get_string', 'link-27');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> </tt>
-<a name="Message.get_string"></a><div id="Message.get_string-def"><a name="L165"></a><tt class="py-lineno">165</tt> <a class="py-toggle" href="#" id="Message.get_string-toggle" onclick="return toggle('Message.get_string');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_string">get_string</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_string-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_string-expanded"><a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> Fetch a string from the stream. This could be a byte string and may</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> contain unprintable characters. (It's not unheard of for a string to</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> contain another byte-stream Message.)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> @return: a string.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="paramiko.Message.get_bytes" class="py-name" href="#" onclick="return doclink('link-28', 'get_bytes', 'link-21');">get_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-29', 'get_int', 'link-29');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
-<a name="Message.get_list"></a><div id="Message.get_list-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="Message.get_list-toggle" onclick="return toggle('Message.get_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#get_list">get_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.get_list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.get_list-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> Fetch a list of strings from the stream. These are trivially encoded</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> as comma-separated values in a string.</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> @return: a list of strings.</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list of strings</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-30', 'get_string', 'link-27');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> </tt>
-<a name="Message.add_bytes"></a><div id="Message.add_bytes-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="Message.add_bytes-toggle" onclick="return toggle('Message.add_bytes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_bytes">add_bytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">b</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_bytes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_bytes-expanded"><a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> Write bytes to the stream, without any formatting.</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> @param b: bytes to add</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> @type b: str</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-31', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-32', 'write', 'link-32');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt>
-<a name="Message.add_byte"></a><div id="Message.add_byte-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="Message.add_byte-toggle" onclick="return toggle('Message.add_byte');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_byte">add_byte</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">b</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_byte-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_byte-expanded"><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> Write a single byte to the stream, without any formatting.</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> @param b: byte to add</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> @type b: str</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-33', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-34', 'write', 'link-32');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> </tt>
-<a name="Message.add_boolean"></a><div id="Message.add_boolean-def"><a name="L206"></a><tt class="py-lineno">206</tt> <a class="py-toggle" href="#" id="Message.add_boolean-toggle" onclick="return toggle('Message.add_boolean');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_boolean">add_boolean</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">b</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_boolean-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_boolean-expanded"><a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> Add a boolean value to the stream.</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> @param b: boolean value to add</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> @type b: bool</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-35', 'add_byte', 'link-35');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-string">'\x01'</tt><tt class="py-op">)</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-36', 'add_byte', 'link-35');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-string">'\x00'</tt><tt class="py-op">)</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> </tt>
-<a name="Message.add_int"></a><div id="Message.add_int-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="Message.add_int-toggle" onclick="return toggle('Message.add_int');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_int">add_int</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_int-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_int-expanded"><a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> Add an integer to the stream.</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> @param n: integer to add</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> @type n: int</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-37', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-38', 'write', 'link-32');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> </tt>
-<a name="Message.add_int64"></a><div id="Message.add_int64-def"><a name="L229"></a><tt class="py-lineno">229</tt> <a class="py-toggle" href="#" id="Message.add_int64-toggle" onclick="return toggle('Message.add_int64');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_int64">add_int64</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_int64-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_int64-expanded"><a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> Add a 64-bit int to the stream.</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> @param n: long int to add</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> @type n: long</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-39', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-40', 'write', 'link-32');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;Q'</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> </tt>
-<a name="Message.add_mpint"></a><div id="Message.add_mpint-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="Message.add_mpint-toggle" onclick="return toggle('Message.add_mpint');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_mpint">add_mpint</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">z</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_mpint-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_mpint-expanded"><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> Add a long int to the stream, encoded as an infinite-precision</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"> integer. This method only works on positive numbers.</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> @param z: long int to add</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"> @type z: long</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-41', 'add_string', 'link-41');">add_string</a></tt><tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-42', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Function paramiko.util.deflate_long()=paramiko.util-module.html#deflate_long"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-43', 'deflate_long', 'link-43');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">z</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> </tt>
-<a name="Message.add_string"></a><div id="Message.add_string-def"><a name="L250"></a><tt class="py-lineno">250</tt> <a class="py-toggle" href="#" id="Message.add_string-toggle" onclick="return toggle('Message.add_string');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_string">add_string</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_string-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_string-expanded"><a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> Add a string to the stream.</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> @param s: string to add</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> @type s: str</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-44', 'add_int', 'link-44');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-45', 'packet', 'link-2');">packet</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-46', 'write', 'link-32');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> </tt>
-<a name="Message.add_list"></a><div id="Message.add_list-def"><a name="L261"></a><tt class="py-lineno">261</tt> <a class="py-toggle" href="#" id="Message.add_list-toggle" onclick="return toggle('Message.add_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add_list">add_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">l</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add_list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add_list-expanded"><a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> Add a list of strings to the stream. They are encoded identically to</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> a single string of values separated by commas. (Yes, really, that's</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> how SSH2 does it.)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> @param l: list of strings to add</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> @type l: list(str)</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-47', 'add_string', 'link-41');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> </tt>
-<a name="Message._add"></a><div id="Message._add-def"><a name="L273"></a><tt class="py-lineno">273</tt> <a class="py-toggle" href="#" id="Message._add-toggle" onclick="return toggle('Message._add');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#_add">_add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message._add-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message._add-expanded"><a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-48', 'add_string', 'link-41');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">int</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-49', 'add_int', 'link-44');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">long</tt><tt class="py-op">:</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0xffffffffL</tt><tt class="py-op">:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method paramiko.Message.add_mpint()=paramiko.Message-class.html#add_mpint"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-50', 'add_mpint', 'link-50');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-51', 'add_int', 'link-44');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method paramiko.Message.add_boolean()=paramiko.Message-class.html#add_boolean"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-52', 'add_boolean', 'link-52');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">list</tt><tt class="py-op">:</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method paramiko.Message.add_list()=paramiko.Message-class.html#add_list"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-53', 'add_list', 'link-53');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'Unknown type'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> </tt>
-<a name="Message.add"></a><div id="Message.add-def"><a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="Message.add-toggle" onclick="return toggle('Message.add');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.message.Message-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">seq</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Message.add-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Message.add-expanded"><a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> Add a sequence of items to the stream. The values are encoded based</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"> on their type: str, int, bool, list, or long.</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> @param seq: the sequence of items</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring"> @type seq: sequence</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> @bug: longs are encoded non-deterministically. Don't use this method.</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">seq</tt><tt class="py-op">:</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_add</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.packet-module.html b/docs/paramiko.packet-module.html
deleted file mode 100644
index ebe8825..0000000
--- a/docs/paramiko.packet-module.html
+++ /dev/null
@@ -1,581 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.packet</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;packet
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.packet-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module packet</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.packet-pysrc.html">source&nbsp;code</a></span></p>
-<p>Packetizer.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.packet.NeedRekeyException-class.html" class="summary-name">NeedRekeyException</a>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Functions</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="compute_hmac"></a><span class="summary-sig-name">compute_hmac</span>(<span class="summary-sig-arg">key</span>,
- <span class="summary-sig-arg">message</span>,
- <span class="summary-sig-arg">digest_class</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.packet-pysrc.html#compute_hmac">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="got_r_hmac"></a><span class="summary-name">got_r_hmac</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.packet-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.packet-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.packet-pysrc.html b/docs/paramiko.packet-pysrc.html
deleted file mode 100644
index 8341e2c..0000000
--- a/docs/paramiko.packet-pysrc.html
+++ /dev/null
@@ -1,920 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.packet</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;packet
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.packet-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.packet-module.html" onclick="show_private();">Module paramiko.packet</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Packetizer.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">errno</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">select</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-5', 'ssh_exception', 'link-5');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-6', 'SSHException', 'link-6');">SSHException</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-8', 'message', 'link-8');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-9', 'Message', 'link-9');">Message</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable paramiko.packet.got_r_hmac=paramiko.packet-module.html#got_r_hmac"><a title="paramiko.packet.got_r_hmac" class="py-name" href="#" onclick="return doclink('link-10', 'got_r_hmac', 'link-10');">got_r_hmac</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">r_hmac</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="paramiko.packet.got_r_hmac" class="py-name" href="#" onclick="return doclink('link-11', 'got_r_hmac', 'link-10');">got_r_hmac</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="compute_hmac"></a><div id="compute_hmac-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="compute_hmac-toggle" onclick="return toggle('compute_hmac');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet-module.html#compute_hmac">compute_hmac</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">,</tt> <tt class="py-param">digest_class</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="compute_hmac-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="compute_hmac-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="paramiko.packet.got_r_hmac" class="py-name" href="#" onclick="return doclink('link-12', 'got_r_hmac', 'link-10');">got_r_hmac</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">r_hmac</tt><tt class="py-op">.</tt><tt class="py-name">HMAC</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-13', 'message', 'link-8');">message</a></tt><tt class="py-op">,</tt> <tt class="py-name">digest_class</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">HMAC</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">HMAC</tt><tt class="py-op">.</tt><tt class="py-name">HMAC</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-14', 'message', 'link-8');">message</a></tt><tt class="py-op">,</tt> <tt class="py-name">digest_class</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
-<a name="NeedRekeyException"></a><div id="NeedRekeyException-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="NeedRekeyException-toggle" onclick="return toggle('NeedRekeyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.packet.NeedRekeyException-class.html">NeedRekeyException</a> <tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="NeedRekeyException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="NeedRekeyException-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
-<a name="Packetizer"></a><div id="Packetizer-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="Packetizer-toggle" onclick="return toggle('Packetizer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html">Packetizer</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Packetizer-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> Implementation of the base SSH packet protocol.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-comment"># READ the secsh RFC's before raising these values. if anything,</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-comment"># they should probably be lower.</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">REKEY_PACKETS</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">REKEY_BYTES</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.__init__"></a><div id="Packetizer.__init__-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="Packetizer.__init__-toggle" onclick="return toggle('Packetizer.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">socket</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.__init__-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__logger</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-comment"># used for noticing when to re-key:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_bytes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_packets</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_bytes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets_overflow</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># current inbound/outbound ciphering:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_out</tt> <tt class="py-op">=</tt> <tt class="py-number">8</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_in</tt> <tt class="py-op">=</tt> <tt class="py-number">8</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_out</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_in</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_engine_out</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_engine_in</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_key_out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_key_in</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_out</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_in</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_out</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_in</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-comment"># lock around outbound writes (packet computation)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__write_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">RLock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-comment"># keepalives:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_interval</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_last</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_callback</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_log"></a><div id="Packetizer.set_log-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="Packetizer.set_log-toggle" onclick="return toggle('Packetizer.set_log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_log">set_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">log</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_log-expanded"><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> Set the python log object to use for logging.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__logger</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name" targets="Method paramiko.logging22.logger.log()=paramiko.logging22.logger-class.html#log"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-15');">log</a></tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_outbound_cipher"></a><div id="Packetizer.set_outbound_cipher-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="Packetizer.set_outbound_cipher-toggle" onclick="return toggle('Packetizer.set_outbound_cipher');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_outbound_cipher">set_outbound_cipher</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">block_engine</tt><tt class="py-op">,</tt> <tt class="py-param">block_size</tt><tt class="py-op">,</tt> <tt class="py-param">mac_engine</tt><tt class="py-op">,</tt> <tt class="py-param">mac_size</tt><tt class="py-op">,</tt> <tt class="py-param">mac_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_outbound_cipher-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_outbound_cipher-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> Switch outbound data cipher.</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt> <tt class="py-op">=</tt> <tt class="py-name">block_engine</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_out</tt> <tt class="py-op">=</tt> <tt class="py-name">block_size</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_engine_out</tt> <tt class="py-op">=</tt> <tt class="py-name">mac_engine</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_out</tt> <tt class="py-op">=</tt> <tt class="py-name">mac_size</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_key_out</tt> <tt class="py-op">=</tt> <tt class="py-name">mac_key</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_bytes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_packets</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-comment"># wait until the reset happens in both directions before clearing rekey flag</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">|=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_inbound_cipher"></a><div id="Packetizer.set_inbound_cipher-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="Packetizer.set_inbound_cipher-toggle" onclick="return toggle('Packetizer.set_inbound_cipher');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_inbound_cipher">set_inbound_cipher</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">block_engine</tt><tt class="py-op">,</tt> <tt class="py-param">block_size</tt><tt class="py-op">,</tt> <tt class="py-param">mac_engine</tt><tt class="py-op">,</tt> <tt class="py-param">mac_size</tt><tt class="py-op">,</tt> <tt class="py-param">mac_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_inbound_cipher-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_inbound_cipher-expanded"><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> Switch inbound data cipher.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_in</tt> <tt class="py-op">=</tt> <tt class="py-name">block_engine</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_in</tt> <tt class="py-op">=</tt> <tt class="py-name">block_size</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_engine_in</tt> <tt class="py-op">=</tt> <tt class="py-name">mac_engine</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt> <tt class="py-op">=</tt> <tt class="py-name">mac_size</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_key_in</tt> <tt class="py-op">=</tt> <tt class="py-name">mac_key</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_bytes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets_overflow</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-comment"># wait until the reset happens in both directions before clearing rekey flag</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">|=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__init_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_outbound_compressor"></a><div id="Packetizer.set_outbound_compressor-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="Packetizer.set_outbound_compressor-toggle" onclick="return toggle('Packetizer.set_outbound_compressor');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_outbound_compressor">set_outbound_compressor</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">compressor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_outbound_compressor-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_outbound_compressor-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_out</tt> <tt class="py-op">=</tt> <tt class="py-name">compressor</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_inbound_compressor"></a><div id="Packetizer.set_inbound_compressor-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="Packetizer.set_inbound_compressor-toggle" onclick="return toggle('Packetizer.set_inbound_compressor');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_inbound_compressor">set_inbound_compressor</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">compressor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_inbound_compressor-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_inbound_compressor-expanded"><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_in</tt> <tt class="py-op">=</tt> <tt class="py-name">compressor</tt> </tt>
-</div><a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.close"></a><div id="Packetizer.close-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="Packetizer.close-toggle" onclick="return toggle('Packetizer.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.close-expanded"><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-16', 'close', 'link-16');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_hexdump"></a><div id="Packetizer.set_hexdump-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="Packetizer.set_hexdump-toggle" onclick="return toggle('Packetizer.set_hexdump');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_hexdump">set_hexdump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hexdump</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_hexdump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_hexdump-expanded"><a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt> <tt class="py-op">=</tt> <tt class="py-name">hexdump</tt> </tt>
-</div><a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.get_hexdump"></a><div id="Packetizer.get_hexdump-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="Packetizer.get_hexdump-toggle" onclick="return toggle('Packetizer.get_hexdump');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#get_hexdump">get_hexdump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.get_hexdump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.get_hexdump-expanded"><a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt> </tt>
-</div><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.get_mac_size_in"></a><div id="Packetizer.get_mac_size_in-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="Packetizer.get_mac_size_in-toggle" onclick="return toggle('Packetizer.get_mac_size_in');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#get_mac_size_in">get_mac_size_in</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.get_mac_size_in-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.get_mac_size_in-expanded"><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt> </tt>
-</div><a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.get_mac_size_out"></a><div id="Packetizer.get_mac_size_out-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="Packetizer.get_mac_size_out-toggle" onclick="return toggle('Packetizer.get_mac_size_out');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#get_mac_size_out">get_mac_size_out</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.get_mac_size_out-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.get_mac_size_out-expanded"><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_out</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.need_rekey"></a><div id="Packetizer.need_rekey-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="Packetizer.need_rekey-toggle" onclick="return toggle('Packetizer.need_rekey');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#need_rekey">need_rekey</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.need_rekey-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.need_rekey-expanded"><a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> Returns C{True} if a new set of keys needs to be negotiated. This</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> will be triggered during a packet read or write, so it should be</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> checked after every read or write, or at least after every few.</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if a new set of keys needs to be negotiated</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.set_keepalive"></a><div id="Packetizer.set_keepalive-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="Packetizer.set_keepalive-toggle" onclick="return toggle('Packetizer.set_keepalive');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#set_keepalive">set_keepalive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">interval</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.set_keepalive-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.set_keepalive-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> Turn on/off the callback keepalive. If C{interval} seconds pass with</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> no data read from or written to the socket, the callback will be</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> executed and the timer will be reset.</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_interval</tt> <tt class="py-op">=</tt> <tt class="py-name">interval</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_callback</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_last</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.read_all"></a><div id="Packetizer.read_all-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="Packetizer.read_all-toggle" onclick="return toggle('Packetizer.read_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#read_all">read_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">,</tt> <tt class="py-param">check_rekey</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.read_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.read_all-expanded"><a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> Read as close to N bytes as possible, blocking as long as necessary.</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> @param n: number of bytes to read</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> @type n: int</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> @return: the data read</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> @raise EOFError: if the socket was closed before all the bytes could</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"> be read</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-comment"># handle over-reading from reading the banner line</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">n</tt><tt class="py-op">]</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">-=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-17" class="py-name" targets="Variable paramiko.auth_handler.PY22=paramiko.auth_handler-module.html#PY22,Variable paramiko.channel.PY22=paramiko.channel-module.html#PY22,Variable paramiko.client.PY22=paramiko.client-module.html#PY22,Variable paramiko.common.PY22=paramiko.common-module.html#PY22,Variable paramiko.dsskey.PY22=paramiko.dsskey-module.html#PY22,Variable paramiko.hostkeys.PY22=paramiko.hostkeys-module.html#PY22,Variable paramiko.kex_gex.PY22=paramiko.kex_gex-module.html#PY22,Variable paramiko.kex_group1.PY22=paramiko.kex_group1-module.html#PY22,Variable paramiko.packet.PY22=paramiko.packet-module.html#PY22,Variable paramiko.pkey.PY22=paramiko.pkey-module.html#PY22,Variable paramiko.rsakey.PY22=paramiko.rsakey-module.html#PY22,Variable paramiko.server.PY22=paramiko.server-module.html#PY22,Variable paramiko.sftp.PY22=paramiko.sftp-module.html#PY22,Variable paramiko.sftp_attr.PY22=paramiko.sftp_attr-module.html#PY22,Variable paramiko.sftp_client.PY22=paramiko.sftp_client-module.html#PY22,Variable paramiko.sftp_file.PY22=paramiko.sftp_file-module.html#PY22,Variable paramiko.sftp_handle.PY22=paramiko.sftp_handle-module.html#PY22,Variable paramiko.sftp_server.PY22=paramiko.sftp_server-module.html#PY22,Variable paramiko.sftp_si.PY22=paramiko.sftp_si-module.html#PY22,Variable paramiko.transport.PY22=paramiko.transport-module.html#PY22,Variable paramiko.util.PY22=paramiko.util-module.html#PY22"><a title="paramiko.auth_handler.PY22
-paramiko.channel.PY22
-paramiko.client.PY22
-paramiko.common.PY22
-paramiko.dsskey.PY22
-paramiko.hostkeys.PY22
-paramiko.kex_gex.PY22
-paramiko.kex_group1.PY22
-paramiko.packet.PY22
-paramiko.pkey.PY22
-paramiko.rsakey.PY22
-paramiko.server.PY22
-paramiko.sftp.PY22
-paramiko.sftp_attr.PY22
-paramiko.sftp_client.PY22
-paramiko.sftp_file.PY22
-paramiko.sftp_handle.PY22
-paramiko.sftp_server.PY22
-paramiko.sftp_si.PY22
-paramiko.transport.PY22
-paramiko.util.PY22" class="py-name" href="#" onclick="return doclink('link-17', 'PY22', 'link-17');">PY22</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_py22_read_all</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">got_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method paramiko.Channel.recv()=paramiko.Channel-class.html#recv,Method paramiko.win_pageant.PageantConnection.recv()=paramiko.win_pageant.PageantConnection-class.html#recv"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-18', 'recv', 'link-18');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">x</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">-=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">got_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-comment"># on Linux, sometimes instead of socket.timeout, we get</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-comment"># EAGAIN. this is a bug in recent (&gt; 2.6.9) kernels but</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-comment"># we need to work around it.</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EAGAIN</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">got_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EINTR</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-comment"># syscall interrupted; try again</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">got_timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">check_rekey</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt><tt class="py-op">:</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-19" class="py-name" targets="Class paramiko.packet.NeedRekeyException=paramiko.packet.NeedRekeyException-class.html"><a title="paramiko.packet.NeedRekeyException" class="py-name" href="#" onclick="return doclink('link-19', 'NeedRekeyException', 'link-19');">NeedRekeyException</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_keepalive</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.write_all"></a><div id="Packetizer.write_all-def"><a name="L236"></a><tt class="py-lineno">236</tt> <a class="py-toggle" href="#" id="Packetizer.write_all-toggle" onclick="return toggle('Packetizer.write_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#write_all">write_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">out</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.write_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.write_all-expanded"><a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_last</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">got_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method paramiko.Channel.send()=paramiko.Channel-class.html#send,Method paramiko.win_pageant.PageantConnection.send()=paramiko.win_pageant.PageantConnection-class.html#send"><a title="paramiko.Channel.send
-paramiko.win_pageant.PageantConnection.send" class="py-name" href="#" onclick="return doclink('link-20', 'send', 'link-20');">send</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">got_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EAGAIN</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">got_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EINTR</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-comment"># syscall interrupted; try again</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-comment"># could be: (32, 'Broken pipe')</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">got_timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">out</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.readline"></a><div id="Packetizer.readline-def"><a name="L266"></a><tt class="py-lineno">266</tt> <a class="py-toggle" href="#" id="Packetizer.readline-toggle" onclick="return toggle('Packetizer.readline');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#readline">readline</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.readline-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.readline-expanded"><a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> Read a line from the socket. We assume no data is pending after the</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> line, so it's okay to attempt large reads.</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'\n'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">buf</tt><tt class="py-op">:</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_timeout</tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__remainder</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">n</tt><tt class="py-op">]</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">buf</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\r'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">buf</tt> </tt>
-</div><a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.send_message"></a><div id="Packetizer.send_message-def"><a name="L281"></a><tt class="py-lineno">281</tt> <a class="py-toggle" href="#" id="Packetizer.send_message-toggle" onclick="return toggle('Packetizer.send_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#send_message">send_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.send_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.send_message-expanded"><a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-docstring"> Write a block of data using the current cipher, as an SSH block.</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-comment"># encrypt this sucka</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cmd</tt> <tt class="py-keyword">in</tt> <tt id="link-21" class="py-name" targets="Variable paramiko.auth_handler.MSG_NAMES=paramiko.auth_handler-module.html#MSG_NAMES,Variable paramiko.channel.MSG_NAMES=paramiko.channel-module.html#MSG_NAMES,Variable paramiko.client.MSG_NAMES=paramiko.client-module.html#MSG_NAMES,Variable paramiko.common.MSG_NAMES=paramiko.common-module.html#MSG_NAMES,Variable paramiko.dsskey.MSG_NAMES=paramiko.dsskey-module.html#MSG_NAMES,Variable paramiko.hostkeys.MSG_NAMES=paramiko.hostkeys-module.html#MSG_NAMES,Variable paramiko.kex_gex.MSG_NAMES=paramiko.kex_gex-module.html#MSG_NAMES,Variable paramiko.kex_group1.MSG_NAMES=paramiko.kex_group1-module.html#MSG_NAMES,Variable paramiko.packet.MSG_NAMES=paramiko.packet-module.html#MSG_NAMES,Variable paramiko.pkey.MSG_NAMES=paramiko.pkey-module.html#MSG_NAMES,Variable paramiko.rsakey.MSG_NAMES=paramiko.rsakey-module.html#MSG_NAMES,Variable paramiko.server.MSG_NAMES=paramiko.server-module.html#MSG_NAMES,Variable paramiko.sftp.MSG_NAMES=paramiko.sftp-module.html#MSG_NAMES,Variable paramiko.sftp_attr.MSG_NAMES=paramiko.sftp_attr-module.html#MSG_NAMES,Variable paramiko.sftp_client.MSG_NAMES=paramiko.sftp_client-module.html#MSG_NAMES,Variable paramiko.sftp_file.MSG_NAMES=paramiko.sftp_file-module.html#MSG_NAMES,Variable paramiko.sftp_handle.MSG_NAMES=paramiko.sftp_handle-module.html#MSG_NAMES,Variable paramiko.sftp_server.MSG_NAMES=paramiko.sftp_server-module.html#MSG_NAMES,Variable paramiko.sftp_si.MSG_NAMES=paramiko.sftp_si-module.html#MSG_NAMES,Variable paramiko.transport.MSG_NAMES=paramiko.transport-module.html#MSG_NAMES,Variable paramiko.util.MSG_NAMES=paramiko.util-module.html#MSG_NAMES"><a title="paramiko.auth_handler.MSG_NAMES
-paramiko.channel.MSG_NAMES
-paramiko.client.MSG_NAMES
-paramiko.common.MSG_NAMES
-paramiko.dsskey.MSG_NAMES
-paramiko.hostkeys.MSG_NAMES
-paramiko.kex_gex.MSG_NAMES
-paramiko.kex_group1.MSG_NAMES
-paramiko.packet.MSG_NAMES
-paramiko.pkey.MSG_NAMES
-paramiko.rsakey.MSG_NAMES
-paramiko.server.MSG_NAMES
-paramiko.sftp.MSG_NAMES
-paramiko.sftp_attr.MSG_NAMES
-paramiko.sftp_client.MSG_NAMES
-paramiko.sftp_file.MSG_NAMES
-paramiko.sftp_handle.MSG_NAMES
-paramiko.sftp_server.MSG_NAMES
-paramiko.sftp_si.MSG_NAMES
-paramiko.transport.MSG_NAMES
-paramiko.util.MSG_NAMES" class="py-name" href="#" onclick="return doclink('link-21', 'MSG_NAMES', 'link-21');">MSG_NAMES</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">cmd_name</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="paramiko.auth_handler.MSG_NAMES
-paramiko.channel.MSG_NAMES
-paramiko.client.MSG_NAMES
-paramiko.common.MSG_NAMES
-paramiko.dsskey.MSG_NAMES
-paramiko.hostkeys.MSG_NAMES
-paramiko.kex_gex.MSG_NAMES
-paramiko.kex_group1.MSG_NAMES
-paramiko.packet.MSG_NAMES
-paramiko.pkey.MSG_NAMES
-paramiko.rsakey.MSG_NAMES
-paramiko.server.MSG_NAMES
-paramiko.sftp.MSG_NAMES
-paramiko.sftp_attr.MSG_NAMES
-paramiko.sftp_client.MSG_NAMES
-paramiko.sftp_file.MSG_NAMES
-paramiko.sftp_handle.MSG_NAMES
-paramiko.sftp_server.MSG_NAMES
-paramiko.sftp_si.MSG_NAMES
-paramiko.transport.MSG_NAMES
-paramiko.util.MSG_NAMES" class="py-name" href="#" onclick="return doclink('link-22', 'MSG_NAMES', 'link-21');">MSG_NAMES</a></tt><tt class="py-op">[</tt><tt class="py-name">cmd</tt><tt class="py-op">]</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">cmd_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'$%x'</tt> <tt class="py-op">%</tt> <tt class="py-name">cmd</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">orig_len</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__write_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_out</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_out</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt id="link-23" class="py-name" targets="Module paramiko.packet=paramiko.packet-module.html"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-23', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_build_packet</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt><tt class="py-op">:</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-24" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-24', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Write packet &lt;%s&gt;, length %d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">cmd_name</tt><tt class="py-op">,</tt> <tt class="py-name">orig_len</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-25', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-26', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Function paramiko.util.format_binary()=paramiko.util-module.html#format_binary"><a title="paramiko.util.format_binary" class="py-name" href="#" onclick="return doclink('link-27', 'format_binary', 'link-27');">format_binary</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-28', 'packet', 'link-23');">packet</a></tt><tt class="py-op">,</tt> <tt class="py-string">'OUT: '</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt><tt class="py-op">.</tt><tt class="py-name">encrypt</tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-29', 'packet', 'link-23');">packet</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-30', 'packet', 'link-23');">packet</a></tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-comment"># + mac</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_out</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-31" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-31', 'packet', 'link-23');">packet</a></tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt id="link-32" class="py-name" targets="Function paramiko.packet.compute_hmac()=paramiko.packet-module.html#compute_hmac"><a title="paramiko.packet.compute_hmac" class="py-name" href="#" onclick="return doclink('link-32', 'compute_hmac', 'link-32');">compute_hmac</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_key_out</tt><tt class="py-op">,</tt> <tt class="py-name">payload</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_engine_out</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_out</tt><tt class="py-op">]</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_out</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_out</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffffffL</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">write_all</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_bytes</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_packets</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_packets</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">REKEY_PACKETS</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_bytes</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">REKEY_BYTES</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> \ </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt><tt class="py-op">:</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-comment"># only ask once for rekeying</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-33', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Rekeying (hit %d packets, %d bytes sent)'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_packets</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sent_bytes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets_overflow</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_trigger_rekey</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__write_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> </tt>
-<a name="Packetizer.read_message"></a><div id="Packetizer.read_message-def"><a name="L324"></a><tt class="py-lineno">324</tt> <a class="py-toggle" href="#" id="Packetizer.read_message-toggle" onclick="return toggle('Packetizer.read_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#read_message">read_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer.read_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer.read_message-expanded"><a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"><tt class="py-docstring"> Only one thread should ever be in this function (no other locking is</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"><tt class="py-docstring"> done).</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the packet is mangled</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"><tt class="py-docstring"> @raise NeedRekeyException: if the transport should rekey</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">read_all</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_in</tt><tt class="py-op">,</tt> <tt class="py-name">check_rekey</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_in</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_in</tt><tt class="py-op">.</tt><tt class="py-name">decrypt</tt><tt class="py-op">(</tt><tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt><tt class="py-op">:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-34', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-35', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.util.format_binary" class="py-name" href="#" onclick="return doclink('link-36', 'format_binary', 'link-27');">format_binary</a></tt><tt class="py-op">(</tt><tt class="py-name">header</tt><tt class="py-op">,</tt> <tt class="py-string">'IN: '</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-name">packet_size</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-comment"># leftover contains decrypted bytes from the first block (after the length field)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-name">leftover</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">packet_size</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">leftover</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_in</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-37" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-37', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Invalid packet blocking'</tt><tt class="py-op">)</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">read_all</tt><tt class="py-op">(</tt><tt class="py-name">packet_size</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">leftover</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt id="link-38" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-38', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">packet_size</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">leftover</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-name">post_packet</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-name">packet_size</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">leftover</tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_in</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-39', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_in</tt><tt class="py-op">.</tt><tt class="py-name">decrypt</tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-40', 'packet', 'link-23');">packet</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt><tt class="py-op">:</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-41', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-42', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="paramiko.util.format_binary" class="py-name" href="#" onclick="return doclink('link-43', 'format_binary', 'link-27');">format_binary</a></tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-44', 'packet', 'link-23');">packet</a></tt><tt class="py-op">,</tt> <tt class="py-string">'IN: '</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt id="link-45" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-45', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">leftover</tt> <tt class="py-op">+</tt> <tt id="link-46" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-46', 'packet', 'link-23');">packet</a></tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">post_packet</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt><tt class="py-op">]</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">mac_payload</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;II'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_in</tt><tt class="py-op">,</tt> <tt class="py-name">packet_size</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-47" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-47', 'packet', 'link-23');">packet</a></tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-name">my_mac</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="paramiko.packet.compute_hmac" class="py-name" href="#" onclick="return doclink('link-48', 'compute_hmac', 'link-32');">compute_hmac</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_key_in</tt><tt class="py-op">,</tt> <tt class="py-name">mac_payload</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_engine_in</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt><tt class="py-op">]</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">my_mac</tt> <tt class="py-op">!=</tt> <tt class="py-name">mac</tt><tt class="py-op">:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-49" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-49', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Mismatched MAC'</tt><tt class="py-op">)</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-name">padding</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-50', 'packet', 'link-23');">packet</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-51', 'packet', 'link-23');">packet</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">packet_size</tt> <tt class="py-op">-</tt> <tt class="py-name">padding</tt><tt class="py-op">]</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt><tt class="py-op">:</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-52', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Got payload (%d bytes, %d padding)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">packet_size</tt><tt class="py-op">,</tt> <tt class="py-name">padding</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_in</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__compress_engine_in</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-53', 'Message', 'link-9');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">seqno</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_in</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_in</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__sequence_number_in</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffffffL</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-comment"># check for rekey</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_bytes</tt> <tt class="py-op">+=</tt> <tt class="py-name">packet_size</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__mac_size_in</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-comment"># we've asked to rekey -- give them 20 packets to comply before</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-comment"># dropping the connection</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets_overflow</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets_overflow</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">20</tt><tt class="py-op">:</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-54" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-54', 'SSHException', 'link-6');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Remote transport is ignoring rekey requests'</tt><tt class="py-op">)</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">REKEY_PACKETS</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_bytes</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">REKEY_BYTES</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-comment"># only ask once for rekeying</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-55" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-55', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Rekeying (hit %d packets, %d bytes received)'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_bytes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__received_packets_overflow</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_trigger_rekey</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cmd</tt> <tt class="py-keyword">in</tt> <tt id="link-56" class="py-name"><a title="paramiko.auth_handler.MSG_NAMES
-paramiko.channel.MSG_NAMES
-paramiko.client.MSG_NAMES
-paramiko.common.MSG_NAMES
-paramiko.dsskey.MSG_NAMES
-paramiko.hostkeys.MSG_NAMES
-paramiko.kex_gex.MSG_NAMES
-paramiko.kex_group1.MSG_NAMES
-paramiko.packet.MSG_NAMES
-paramiko.pkey.MSG_NAMES
-paramiko.rsakey.MSG_NAMES
-paramiko.server.MSG_NAMES
-paramiko.sftp.MSG_NAMES
-paramiko.sftp_attr.MSG_NAMES
-paramiko.sftp_client.MSG_NAMES
-paramiko.sftp_file.MSG_NAMES
-paramiko.sftp_handle.MSG_NAMES
-paramiko.sftp_server.MSG_NAMES
-paramiko.sftp_si.MSG_NAMES
-paramiko.transport.MSG_NAMES
-paramiko.util.MSG_NAMES" class="py-name" href="#" onclick="return doclink('link-56', 'MSG_NAMES', 'link-21');">MSG_NAMES</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">cmd_name</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="paramiko.auth_handler.MSG_NAMES
-paramiko.channel.MSG_NAMES
-paramiko.client.MSG_NAMES
-paramiko.common.MSG_NAMES
-paramiko.dsskey.MSG_NAMES
-paramiko.hostkeys.MSG_NAMES
-paramiko.kex_gex.MSG_NAMES
-paramiko.kex_group1.MSG_NAMES
-paramiko.packet.MSG_NAMES
-paramiko.pkey.MSG_NAMES
-paramiko.rsakey.MSG_NAMES
-paramiko.server.MSG_NAMES
-paramiko.sftp.MSG_NAMES
-paramiko.sftp_attr.MSG_NAMES
-paramiko.sftp_client.MSG_NAMES
-paramiko.sftp_file.MSG_NAMES
-paramiko.sftp_handle.MSG_NAMES
-paramiko.sftp_server.MSG_NAMES
-paramiko.sftp_si.MSG_NAMES
-paramiko.transport.MSG_NAMES
-paramiko.util.MSG_NAMES" class="py-name" href="#" onclick="return doclink('link-57', 'MSG_NAMES', 'link-21');">MSG_NAMES</a></tt><tt class="py-op">[</tt><tt class="py-name">cmd</tt><tt class="py-op">]</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-name">cmd_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'$%x'</tt> <tt class="py-op">%</tt> <tt class="py-name">cmd</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dump_packets</tt><tt class="py-op">:</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-58', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Read packet &lt;%s&gt;, length %d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">cmd_name</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> </tt>
-</div><a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-comment">########## protected</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._log"></a><div id="Packetizer._log-def"><a name="L400"></a><tt class="py-lineno">400</tt> <a class="py-toggle" href="#" id="Packetizer._log-toggle" onclick="return toggle('Packetizer._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._log-expanded"><a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__logger</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msg</tt><tt class="py-op">:</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__logger</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-59', 'log', 'link-15');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__logger</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-15');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._check_keepalive"></a><div id="Packetizer._check_keepalive-def"><a name="L409"></a><tt class="py-lineno">409</tt> <a class="py-toggle" href="#" id="Packetizer._check_keepalive-toggle" onclick="return toggle('Packetizer._check_keepalive');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_check_keepalive">_check_keepalive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._check_keepalive-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._check_keepalive-expanded"><a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_interval</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt><tt class="py-op">:</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-comment"># wait till we're encrypting, and not in the middle of rekeying</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-name">now</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">now</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_last</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_interval</tt><tt class="py-op">:</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_callback</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__keepalive_last</tt> <tt class="py-op">=</tt> <tt class="py-name">now</tt> </tt>
-</div><a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._py22_read_all"></a><div id="Packetizer._py22_read_all-def"><a name="L419"></a><tt class="py-lineno">419</tt> <a class="py-toggle" href="#" id="Packetizer._py22_read_all-toggle" onclick="return toggle('Packetizer._py22_read_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_py22_read_all">_py22_read_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">,</tt> <tt class="py-param">out</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._py22_read_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._py22_read_all-expanded"><a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">,</tt> <tt class="py-name">w</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">select</tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_keepalive</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-61', 'recv', 'link-18');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">x</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">-=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._py22_read_timeout"></a><div id="Packetizer._py22_read_timeout-def"><a name="L434"></a><tt class="py-lineno">434</tt> <a class="py-toggle" href="#" id="Packetizer._py22_read_timeout-toggle" onclick="return toggle('Packetizer._py22_read_timeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_py22_read_timeout">_py22_read_timeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._py22_read_timeout-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._py22_read_timeout-expanded"><a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">,</tt> <tt class="py-name">w</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">select</tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt> <tt class="py-keyword">in</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-62', 'recv', 'link-18');">recv</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-name">now</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">now</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">x</tt> </tt>
-</div><a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._read_timeout"></a><div id="Packetizer._read_timeout-def"><a name="L450"></a><tt class="py-lineno">450</tt> <a class="py-toggle" href="#" id="Packetizer._read_timeout-toggle" onclick="return toggle('Packetizer._read_timeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_read_timeout">_read_timeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._read_timeout-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._read_timeout-expanded"><a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-63" class="py-name"><a title="paramiko.auth_handler.PY22
-paramiko.channel.PY22
-paramiko.client.PY22
-paramiko.common.PY22
-paramiko.dsskey.PY22
-paramiko.hostkeys.PY22
-paramiko.kex_gex.PY22
-paramiko.kex_group1.PY22
-paramiko.packet.PY22
-paramiko.pkey.PY22
-paramiko.rsakey.PY22
-paramiko.server.PY22
-paramiko.sftp.PY22
-paramiko.sftp_attr.PY22
-paramiko.sftp_client.PY22
-paramiko.sftp_file.PY22
-paramiko.sftp_handle.PY22
-paramiko.sftp_server.PY22
-paramiko.sftp_si.PY22
-paramiko.transport.PY22
-paramiko.util.PY22" class="py-name" href="#" onclick="return doclink('link-63', 'PY22', 'link-17');">PY22</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_py22_read_timeout</tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__socket</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-64', 'recv', 'link-18');">recv</a></tt><tt class="py-op">(</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-name">now</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">now</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">x</tt> </tt>
-</div><a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._build_packet"></a><div id="Packetizer._build_packet-def"><a name="L469"></a><tt class="py-lineno">469</tt> <a class="py-toggle" href="#" id="Packetizer._build_packet-toggle" onclick="return toggle('Packetizer._build_packet');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_build_packet">_build_packet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">payload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._build_packet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._build_packet-expanded"><a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt class="py-comment"># pad up at least 4 bytes, to nearest block-size (usually 8)</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-name">bsize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_size_out</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-name">padding</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> <tt class="py-op">+</tt> <tt class="py-name">bsize</tt> <tt class="py-op">-</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">bsize</tt><tt class="py-op">)</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt id="link-65" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-65', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;IB'</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">padding</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">padding</tt><tt class="py-op">)</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt id="link-66" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-66', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">payload</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__block_engine_out</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt id="link-67" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-67', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">+=</tt> <tt id="link-68" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-68', 'rng', 'link-68');">rng</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-69', 'read', 'link-69');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">padding</tt><tt class="py-op">)</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-comment"># cute trick i caught openssh doing: if we're not encrypting,</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-comment"># don't waste random bytes for the padding</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt id="link-70" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-70', 'packet', 'link-23');">packet</a></tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">padding</tt><tt class="py-op">)</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-71" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-71', 'packet', 'link-23');">packet</a></tt> </tt>
-</div><a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> </tt>
-<a name="Packetizer._trigger_rekey"></a><div id="Packetizer._trigger_rekey-def"><a name="L483"></a><tt class="py-lineno">483</tt> <a class="py-toggle" href="#" id="Packetizer._trigger_rekey-toggle" onclick="return toggle('Packetizer._trigger_rekey');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.packet.Packetizer-class.html#_trigger_rekey">_trigger_rekey</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Packetizer._trigger_rekey-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Packetizer._trigger_rekey-expanded"><a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt class="py-comment"># outside code should check for this flag</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__need_rekey</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div></div><a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.packet.NeedRekeyException-class.html b/docs/paramiko.packet.NeedRekeyException-class.html
deleted file mode 100644
index 7387922..0000000
--- a/docs/paramiko.packet.NeedRekeyException-class.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.packet.NeedRekeyException</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.packet-module.html" onclick="show_private();">Module&nbsp;packet</a> ::
- Class&nbsp;NeedRekeyException
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.packet.NeedRekeyException-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class NeedRekeyException</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.packet-pysrc.html#NeedRekeyException">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <strong class="uidshort">NeedRekeyException</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__init__</code>,
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pipe-module.html b/docs/paramiko.pipe-module.html
deleted file mode 100644
index eb41032..0000000
--- a/docs/paramiko.pipe-module.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;pipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pipe-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module pipe</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.pipe-pysrc.html">source&nbsp;code</a></span></p>
-<p>Abstraction of a one-way pipe where the read end can be used in
- select(). Normally this is trivial, but Windows makes it nearly
- impossible.</p>
- <p>The pipe acts like an Event, which can be set or cleared. When set,
- the pipe will trigger as readable in select().</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.pipe.PosixPipe-class.html" class="summary-name">PosixPipe</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.pipe.WindowsPipe-class.html" class="summary-name">WindowsPipe</a><br />
- On Windows, only an OS-level &quot;WinSock&quot; may be used in
- select(), but reads and writes must be to the actual socket object.
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.pipe.OrPipe-class.html" class="summary-name">OrPipe</a>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Functions</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="make_pipe"></a><span class="summary-sig-name">make_pipe</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#make_pipe">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.pipe-module.html#make_or_pipe" class="summary-sig-name">make_or_pipe</a>(<span class="summary-sig-arg">pipe</span>)</span><br />
- wraps a pipe into two pipe-like objects which are &quot;or&quot;d
- together to affect the real pipe.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#make_or_pipe">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Function Details</span></td>
-</tr>
-</table>
-<a name="make_or_pipe"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">make_or_pipe</span>(<span class="sig-arg">pipe</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pipe-pysrc.html#make_or_pipe">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>wraps a pipe into two pipe-like objects which are &quot;or&quot;d
- together to affect the real pipe. if either returned pipe is set, the
- wrapped pipe is set. when both are cleared, the wrapped pipe is
- cleared.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pipe-pysrc.html b/docs/paramiko.pipe-pysrc.html
deleted file mode 100644
index c556536..0000000
--- a/docs/paramiko.pipe-pysrc.html
+++ /dev/null
@@ -1,327 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;pipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pipe-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.pipe-module.html" onclick="show_private();">Module paramiko.pipe</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Abstraction of a one-way pipe where the read end can be used in select().</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">Normally this is trivial, but Windows makes it nearly impossible.</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring">The pipe acts like an Event, which can be set or cleared. When set, the pipe</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring">will trigger as readable in select().</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="make_pipe"></a><div id="make_pipe-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="make_pipe-toggle" onclick="return toggle('make_pipe');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe-module.html#make_pipe">make_pipe</a> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="make_pipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="make_pipe-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">platform</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'win'</tt><tt class="py-op">:</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-0" class="py-name" targets="Class paramiko.pipe.PosixPipe=paramiko.pipe.PosixPipe-class.html"><a title="paramiko.pipe.PosixPipe" class="py-name" href="#" onclick="return doclink('link-0', 'PosixPipe', 'link-0');">PosixPipe</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-1" class="py-name" targets="Class paramiko.pipe.WindowsPipe=paramiko.pipe.WindowsPipe-class.html"><a title="paramiko.pipe.WindowsPipe" class="py-name" href="#" onclick="return doclink('link-1', 'WindowsPipe', 'link-1');">WindowsPipe</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">p</tt> </tt>
-</div><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
-<a name="PosixPipe"></a><div id="PosixPipe-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="PosixPipe-toggle" onclick="return toggle('PosixPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html">PosixPipe</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PosixPipe-expanded"><a name="PosixPipe.__init__"></a><div id="PosixPipe.__init__-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="PosixPipe.__init__-toggle" onclick="return toggle('PosixPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html#__init__">__init__</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PosixPipe.__init__-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rfd</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wfd</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module paramiko.pipe=paramiko.pipe-module.html"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-2', 'pipe', 'link-2');">pipe</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forever</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> </tt>
-<a name="PosixPipe.close"></a><div id="PosixPipe.close-def"><a name="L47"></a><tt class="py-lineno"> 47</tt> <a class="py-toggle" href="#" id="PosixPipe.close-toggle" onclick="return toggle('PosixPipe.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html#close">close</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PosixPipe.close-expanded"><a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-3', 'close', 'link-3');">close</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rfd</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-4', 'close', 'link-3');">close</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wfd</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-comment"># used for unit tests:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
-<a name="PosixPipe.fileno"></a><div id="PosixPipe.fileno-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="PosixPipe.fileno-toggle" onclick="return toggle('PosixPipe.fileno');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html#fileno">fileno</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe.fileno-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PosixPipe.fileno-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rfd</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
-<a name="PosixPipe.clear"></a><div id="PosixPipe.clear-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="PosixPipe.clear-toggle" onclick="return toggle('PosixPipe.clear');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html#clear">clear</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe.clear-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PosixPipe.clear-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forever</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-5', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rfd</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
-<a name="PosixPipe.set"></a><div id="PosixPipe.set-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="PosixPipe.set-toggle" onclick="return toggle('PosixPipe.set');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html#set">set</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe.set-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PosixPipe.set-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-6', 'write', 'link-6');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wfd</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
-<a name="PosixPipe.set_forever"></a><div id="PosixPipe.set_forever-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="PosixPipe.set_forever-toggle" onclick="return toggle('PosixPipe.set_forever');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.PosixPipe-class.html#set_forever">set_forever</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PosixPipe.set_forever-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PosixPipe.set_forever-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forever</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method paramiko.pipe.OrPipe.set()=paramiko.pipe.OrPipe-class.html#set,Method paramiko.pipe.PosixPipe.set()=paramiko.pipe.PosixPipe-class.html#set,Method paramiko.pipe.WindowsPipe.set()=paramiko.pipe.WindowsPipe-class.html#set"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-7', 'set', 'link-7');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> </tt>
-<a name="WindowsPipe"></a><div id="WindowsPipe-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="WindowsPipe-toggle" onclick="return toggle('WindowsPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html">WindowsPipe</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WindowsPipe-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> On Windows, only an OS-level "WinSock" may be used in select(), but reads</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> and writes must be to the actual socket object.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="WindowsPipe.__init__"></a><div id="WindowsPipe.__init__-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="WindowsPipe.__init__-toggle" onclick="return toggle('WindowsPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html#__init__">__init__</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WindowsPipe.__init__-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">serv</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_INET</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">serv</tt><tt class="py-op">.</tt><tt class="py-name">bind</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'127.0.0.1'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">serv</tt><tt class="py-op">.</tt><tt class="py-name">listen</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-comment"># need to save sockets in _rsock/_wsock so they don't get closed</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rsock</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_INET</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rsock</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method paramiko.SSHClient.connect()=paramiko.SSHClient-class.html#connect,Method paramiko.Transport.connect()=paramiko.Transport-class.html#connect"><a title="paramiko.SSHClient.connect
-paramiko.Transport.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'127.0.0.1'</tt><tt class="py-op">,</tt> <tt class="py-name">serv</tt><tt class="py-op">.</tt><tt class="py-name">getsockname</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wsock</tt><tt class="py-op">,</tt> <tt class="py-name">addr</tt> <tt class="py-op">=</tt> <tt class="py-name">serv</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method paramiko.Transport.accept()=paramiko.Transport-class.html#accept"><a title="paramiko.Transport.accept" class="py-name" href="#" onclick="return doclink('link-9', 'accept', 'link-9');">accept</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">serv</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-10', 'close', 'link-3');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forever</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt>
-<a name="WindowsPipe.close"></a><div id="WindowsPipe.close-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="WindowsPipe.close-toggle" onclick="return toggle('WindowsPipe.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html#close">close</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WindowsPipe.close-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rsock</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-11', 'close', 'link-3');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wsock</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-12', 'close', 'link-3');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-comment"># used for unit tests:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
-<a name="WindowsPipe.fileno"></a><div id="WindowsPipe.fileno-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="WindowsPipe.fileno-toggle" onclick="return toggle('WindowsPipe.fileno');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html#fileno">fileno</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe.fileno-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WindowsPipe.fileno-expanded"><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rsock</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.Channel.fileno()=paramiko.Channel-class.html#fileno,Method paramiko.pipe.PosixPipe.fileno()=paramiko.pipe.PosixPipe-class.html#fileno,Method paramiko.pipe.WindowsPipe.fileno()=paramiko.pipe.WindowsPipe-class.html#fileno"><a title="paramiko.Channel.fileno
-paramiko.pipe.PosixPipe.fileno
-paramiko.pipe.WindowsPipe.fileno" class="py-name" href="#" onclick="return doclink('link-13', 'fileno', 'link-13');">fileno</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
-<a name="WindowsPipe.clear"></a><div id="WindowsPipe.clear-def"><a name="L102"></a><tt class="py-lineno">102</tt> <a class="py-toggle" href="#" id="WindowsPipe.clear-toggle" onclick="return toggle('WindowsPipe.clear');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html#clear">clear</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe.clear-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WindowsPipe.clear-expanded"><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forever</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rsock</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.Channel.recv()=paramiko.Channel-class.html#recv,Method paramiko.win_pageant.PageantConnection.recv()=paramiko.win_pageant.PageantConnection-class.html#recv"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-14', 'recv', 'link-14');">recv</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> </tt>
-<a name="WindowsPipe.set"></a><div id="WindowsPipe.set-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="WindowsPipe.set-toggle" onclick="return toggle('WindowsPipe.set');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html#set">set</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe.set-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WindowsPipe.set-expanded"><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wsock</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method paramiko.Channel.send()=paramiko.Channel-class.html#send,Method paramiko.win_pageant.PageantConnection.send()=paramiko.win_pageant.PageantConnection-class.html#send"><a title="paramiko.Channel.send
-paramiko.win_pageant.PageantConnection.send" class="py-name" href="#" onclick="return doclink('link-15', 'send', 'link-15');">send</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
-<a name="WindowsPipe.set_forever"></a><div id="WindowsPipe.set_forever-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="WindowsPipe.set_forever-toggle" onclick="return toggle('WindowsPipe.set_forever');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.WindowsPipe-class.html#set_forever">set_forever</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WindowsPipe.set_forever-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WindowsPipe.set_forever-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forever</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-16', 'set', 'link-7');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
-<a name="OrPipe"></a><div id="OrPipe-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="OrPipe-toggle" onclick="return toggle('OrPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.pipe.OrPipe-class.html">OrPipe</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OrPipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OrPipe-expanded"><a name="OrPipe.__init__"></a><div id="OrPipe.__init__-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="OrPipe.__init__-toggle" onclick="return toggle('OrPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.OrPipe-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pipe</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OrPipe.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OrPipe.__init__-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_partner</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-17', 'pipe', 'link-2');">pipe</a></tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
-<a name="OrPipe.set"></a><div id="OrPipe.set-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="OrPipe.set-toggle" onclick="return toggle('OrPipe.set');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.OrPipe-class.html#set">set</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OrPipe.set-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OrPipe.set-expanded"><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_partner</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-18', 'set', 'link-7');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
-<a name="OrPipe.clear"></a><div id="OrPipe.clear-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="OrPipe.clear-toggle" onclick="return toggle('OrPipe.clear');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe.OrPipe-class.html#clear">clear</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OrPipe.clear-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OrPipe.clear-expanded"><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_partner</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pipe</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method paramiko.HostKeys.clear()=paramiko.HostKeys-class.html#clear,Method paramiko.pipe.OrPipe.clear()=paramiko.pipe.OrPipe-class.html#clear,Method paramiko.pipe.PosixPipe.clear()=paramiko.pipe.PosixPipe-class.html#clear,Method paramiko.pipe.WindowsPipe.clear()=paramiko.pipe.WindowsPipe-class.html#clear"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-19', 'clear', 'link-19');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
-<a name="make_or_pipe"></a><div id="make_or_pipe-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="make_or_pipe-toggle" onclick="return toggle('make_or_pipe');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pipe-module.html#make_or_pipe">make_or_pipe</a><tt class="py-op">(</tt><tt class="py-param">pipe</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="make_or_pipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="make_or_pipe-expanded"><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> wraps a pipe into two pipe-like objects which are "or"d together to</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> affect the real pipe. if either returned pipe is set, the wrapped pipe</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> is set. when both are cleared, the wrapped pipe is cleared.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">p1</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name" targets="Class paramiko.pipe.OrPipe=paramiko.pipe.OrPipe-class.html"><a title="paramiko.pipe.OrPipe" class="py-name" href="#" onclick="return doclink('link-20', 'OrPipe', 'link-20');">OrPipe</a></tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-21', 'pipe', 'link-2');">pipe</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">p2</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="paramiko.pipe.OrPipe" class="py-name" href="#" onclick="return doclink('link-22', 'OrPipe', 'link-20');">OrPipe</a></tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="paramiko.pipe" class="py-name" href="#" onclick="return doclink('link-23', 'pipe', 'link-2');">pipe</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">p1</tt><tt class="py-op">.</tt><tt class="py-name">_partner</tt> <tt class="py-op">=</tt> <tt class="py-name">p2</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">p2</tt><tt class="py-op">.</tt><tt class="py-name">_partner</tt> <tt class="py-op">=</tt> <tt class="py-name">p1</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">p1</tt><tt class="py-op">,</tt> <tt class="py-name">p2</tt> </tt>
-</div><a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pipe.OrPipe-class.html b/docs/paramiko.pipe.OrPipe-class.html
deleted file mode 100644
index b6f709c..0000000
--- a/docs/paramiko.pipe.OrPipe-class.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pipe.OrPipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.pipe-module.html" onclick="show_private();">Module&nbsp;pipe</a> ::
- Class&nbsp;OrPipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pipe.OrPipe-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class OrPipe</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.pipe-pysrc.html#OrPipe">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">OrPipe</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.pipe.OrPipe-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">pipe</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#OrPipe.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set"></a><span class="summary-sig-name">set</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#OrPipe.set">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="clear"></a><span class="summary-sig-name">clear</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#OrPipe.clear">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">pipe</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pipe-pysrc.html#OrPipe.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pipe.PosixPipe-class.html b/docs/paramiko.pipe.PosixPipe-class.html
deleted file mode 100644
index e742413..0000000
--- a/docs/paramiko.pipe.PosixPipe-class.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pipe.PosixPipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.pipe-module.html" onclick="show_private();">Module&nbsp;pipe</a> ::
- Class&nbsp;PosixPipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pipe.PosixPipe-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PosixPipe</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">PosixPipe</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.pipe.PosixPipe-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.close">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="fileno"></a><span class="summary-sig-name">fileno</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.fileno">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="clear"></a><span class="summary-sig-name">clear</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.clear">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set"></a><span class="summary-sig-name">set</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.set">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set_forever"></a><span class="summary-sig-name">set_forever</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.set_forever">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pipe-pysrc.html#PosixPipe.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pipe.WindowsPipe-class.html b/docs/paramiko.pipe.WindowsPipe-class.html
deleted file mode 100644
index de302d7..0000000
--- a/docs/paramiko.pipe.WindowsPipe-class.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pipe.WindowsPipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.pipe-module.html" onclick="show_private();">Module&nbsp;pipe</a> ::
- Class&nbsp;WindowsPipe
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pipe.WindowsPipe-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class WindowsPipe</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">WindowsPipe</strong>
-</pre>
-
-<hr />
-<p>On Windows, only an OS-level &quot;WinSock&quot; may be used in
- select(), but reads and writes must be to the actual socket object.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.pipe.WindowsPipe-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.close">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="fileno"></a><span class="summary-sig-name">fileno</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.fileno">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="clear"></a><span class="summary-sig-name">clear</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.clear">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set"></a><span class="summary-sig-name">set</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.set">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="set_forever"></a><span class="summary-sig-name">set_forever</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.set_forever">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.pipe-pysrc.html#WindowsPipe.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pkey-module.html b/docs/paramiko.pkey-module.html
deleted file mode 100644
index 6688914..0000000
--- a/docs/paramiko.pkey-module.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pkey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;pkey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pkey-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module pkey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.pkey-pysrc.html">source&nbsp;code</a></span></p>
-<p>Common API for all public keys.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.pkey-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.pkey-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.pkey-pysrc.html b/docs/paramiko.pkey-pysrc.html
deleted file mode 100644
index 56f0c4b..0000000
--- a/docs/paramiko.pkey-pysrc.html
+++ /dev/null
@@ -1,542 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.pkey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;pkey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.pkey-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.pkey-module.html" onclick="show_private();">Module paramiko.pkey</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Common API for all public keys.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">binascii</tt> <tt class="py-keyword">import</tt> <tt class="py-name">hexlify</tt><tt class="py-op">,</tt> <tt class="py-name">unhexlify</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MD5</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Cipher</tt> <tt class="py-keyword">import</tt> <tt class="py-name">DES3</tt><tt class="py-op">,</tt> <tt class="py-name">AES</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-6', 'Message', 'link-6');">Message</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-8', 'ssh_exception', 'link-8');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-9', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Class paramiko.PasswordRequiredException=paramiko.PasswordRequiredException-class.html"><a title="paramiko.PasswordRequiredException" class="py-name" href="#" onclick="return doclink('link-10', 'PasswordRequiredException', 'link-10');">PasswordRequiredException</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="PKey"></a><div id="PKey-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="PKey-toggle" onclick="return toggle('PKey');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html">PKey</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PKey-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> Base class for public keys.</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-comment"># known encryption types for private key files:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Variable paramiko.PKey._CIPHER_TABLE=paramiko.PKey-class.html#_CIPHER_TABLE"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-11', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-string">'AES-128-CBC'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'cipher'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">,</tt> <tt class="py-string">'keysize'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">'blocksize'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CBC</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-string">'DES-EDE3-CBC'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'cipher'</tt><tt class="py-op">:</tt> <tt class="py-name">DES3</tt><tt class="py-op">,</tt> <tt class="py-string">'keysize'</tt><tt class="py-op">:</tt> <tt class="py-number">24</tt><tt class="py-op">,</tt> <tt class="py-string">'blocksize'</tt><tt class="py-op">:</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">DES3</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CBC</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
-<a name="PKey.__init__"></a><div id="PKey.__init__-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="PKey.__init__-toggle" onclick="return toggle('PKey.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.__init__-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> Create a new instance of this public key type. If C{msg} is given,</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> the key's public part(s) will be filled in from the message. If</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> C{data} is given, the key's public part(s) will be filled in from</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> the string.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> @param msg: an optional SSH L{Message} containing a public key of this</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> type.</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> @type msg: L{Message}</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> @param data: an optional string containing a public key of this type</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if a key cannot be created from the C{data} or</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> C{msg} given, or no key was passed in.</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="PKey.__str__"></a><div id="PKey.__str__-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="PKey.__str__-toggle" onclick="return toggle('PKey.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.__str__-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> Return a string of an SSH L{Message} made up of the public part(s) of</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> this key. This string is suitable for passing to L{__init__} to</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> re-create the key object later.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> @return: string representation of an SSH key message.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
-<a name="PKey.__cmp__"></a><div id="PKey.__cmp__-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="PKey.__cmp__-toggle" onclick="return toggle('PKey.__cmp__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#__cmp__">__cmp__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">other</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.__cmp__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.__cmp__-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> Compare this key to another. Returns 0 if this key is equivalent to</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> the given key, or non-0 if they are different. Only the public parts</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"> of the key are compared, so a public key will compare equal to its</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> corresponding private key.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> @param other: key to compare to.</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> @type other: L{PKey}</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> @return: 0 if the two keys are equivalent, non-0 otherwise.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">hs</tt> <tt class="py-op">=</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">ho</tt> <tt class="py-op">=</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hs</tt> <tt class="py-op">!=</tt> <tt class="py-name">ho</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cmp</tt><tt class="py-op">(</tt><tt class="py-name">hs</tt><tt class="py-op">,</tt> <tt class="py-name">ho</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cmp</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
-<a name="PKey.get_name"></a><div id="PKey.get_name-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="PKey.get_name-toggle" onclick="return toggle('PKey.get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#get_name">get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.get_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.get_name-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> Return the name of this private key implementation.</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> @return: name of this private key type, in SSH terminology (for</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> example, C{"ssh-rsa"}).</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt>
-<a name="PKey.get_bits"></a><div id="PKey.get_bits-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="PKey.get_bits-toggle" onclick="return toggle('PKey.get_bits');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#get_bits">get_bits</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.get_bits-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.get_bits-expanded"><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> Return the number of significant bits in this key. This is useful</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> for judging the relative security of a key.</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> @return: bits in the key.</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> </tt>
-<a name="PKey.can_sign"></a><div id="PKey.can_sign-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="PKey.can_sign-toggle" onclick="return toggle('PKey.can_sign');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#can_sign">can_sign</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.can_sign-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.can_sign-expanded"><a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> Return C{True} if this key has the private part necessary for signing</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> data.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if this is a private key.</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
-<a name="PKey.get_fingerprint"></a><div id="PKey.get_fingerprint-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="PKey.get_fingerprint-toggle" onclick="return toggle('PKey.get_fingerprint');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#get_fingerprint">get_fingerprint</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.get_fingerprint-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.get_fingerprint-expanded"><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> Return an MD5 fingerprint of the public part of this key. Nothing</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> secret is revealed.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> @return: a 16-byte string (binary) of the MD5 fingerprint, in SSH</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> format.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">MD5</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-12', 'new', 'link-12');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
-<a name="PKey.get_base64"></a><div id="PKey.get_base64-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="PKey.get_base64-toggle" onclick="return toggle('PKey.get_base64');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#get_base64">get_base64</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.get_base64-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.get_base64-expanded"><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> Return a base64 string containing the public part of this key. Nothing</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> secret is revealed. This format is compatible with that used to store</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> public key files or recognized host keys.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> @return: a base64 string containing the public part of the key.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">encodestring</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
-<a name="PKey.sign_ssh_data"></a><div id="PKey.sign_ssh_data-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="PKey.sign_ssh_data-toggle" onclick="return toggle('PKey.sign_ssh_data');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#sign_ssh_data">sign_ssh_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">rng</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.sign_ssh_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.sign_ssh_data-expanded"><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> Sign a blob of data with this private key, and return a L{Message}</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> representing an SSH signature message.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> @param rng: a secure random number generator.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> @type rng: L{Crypto.Util.rng.RandomPool}</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> @param data: the data to sign.</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SSH signature message.</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Message}</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> </tt>
-<a name="PKey.verify_ssh_sig"></a><div id="PKey.verify_ssh_sig-def"><a name="L161"></a><tt class="py-lineno">161</tt> <a class="py-toggle" href="#" id="PKey.verify_ssh_sig-toggle" onclick="return toggle('PKey.verify_ssh_sig');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#verify_ssh_sig">verify_ssh_sig</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.verify_ssh_sig-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.verify_ssh_sig-expanded"><a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> Given a blob of data, and an SSH message representing a signature of</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> that data, verify that it was signed with this key.</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> @param data: the data that was signed.</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> @param msg: an SSH signature message</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> @type msg: L{Message}</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if the signature verifies correctly; C{False}</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> otherwise.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: boolean</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
-<a name="PKey.from_private_key_file"></a><div id="PKey.from_private_key_file-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="PKey.from_private_key_file-toggle" onclick="return toggle('PKey.from_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#from_private_key_file">from_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.from_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.from_private_key_file-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> Create a key object by reading a private key file. If the private</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> key is encrypted and C{password} is not C{None}, the given password</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> will be used to decrypt the key (otherwise L{PasswordRequiredException}</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> is thrown). Through the magic of python, this factory method will</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> exist in all subclasses of PKey (such as L{RSAKey} or L{DSSKey}), but</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> is useless on the abstract PKey class.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to read</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> @param password: an optional password to use to decrypt the key file,</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> if it's encrypted</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new key object based on the given private key</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{PKey}</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error reading the file</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> @raise PasswordRequiredException: if the private key file is</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"> encrypted, and C{password} is C{None}</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the key file is invalid</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">=</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">=</tt><tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt id="link-13" class="py-name" targets="Class Method paramiko.PKey.from_private_key_file()=paramiko.PKey-class.html#from_private_key_file"><a title="paramiko.PKey.from_private_key_file" class="py-name" href="#" onclick="return doclink('link-13', 'from_private_key_file', 'link-13');">from_private_key_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="paramiko.PKey.from_private_key_file" class="py-name" href="#" onclick="return doclink('link-14', 'from_private_key_file', 'link-13');">from_private_key_file</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> </tt>
-<a name="PKey.from_private_key"></a><div id="PKey.from_private_key-def"><a name="L202"></a><tt class="py-lineno">202</tt> <a class="py-toggle" href="#" id="PKey.from_private_key-toggle" onclick="return toggle('PKey.from_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#from_private_key">from_private_key</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.from_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.from_private_key-expanded"><a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"> Create a key object by reading a private key from a file (or file-like)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> object. If the private key is encrypted and C{password} is not C{None},</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> the given password will be used to decrypt the key (otherwise</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> L{PasswordRequiredException} is thrown).</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"> @param file_obj: the file to read from</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> @type file_obj: file</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> @param password: an optional password to use to decrypt the key, if it's</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> encrypted</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new key object based on the given private key</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{PKey}</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error reading the key</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> @raise PasswordRequiredException: if the private key file is encrypted,</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> and C{password} is C{None}</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the key file is invalid</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">=</tt><tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">=</tt><tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt id="link-15" class="py-name" targets="Class Method paramiko.PKey.from_private_key()=paramiko.PKey-class.html#from_private_key"><a title="paramiko.PKey.from_private_key" class="py-name" href="#" onclick="return doclink('link-15', 'from_private_key', 'link-15');">from_private_key</a></tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="paramiko.PKey.from_private_key" class="py-name" href="#" onclick="return doclink('link-16', 'from_private_key', 'link-15');">from_private_key</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> </tt>
-<a name="PKey.write_private_key_file"></a><div id="PKey.write_private_key_file-def"><a name="L226"></a><tt class="py-lineno">226</tt> <a class="py-toggle" href="#" id="PKey.write_private_key_file-toggle" onclick="return toggle('PKey.write_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#write_private_key_file">write_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.write_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.write_private_key_file-expanded"><a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"> Write private key contents into a file. If the password is not</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"> C{None}, the key is encrypted before writing.</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to write</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> @param password: an optional password to use to encrypt the key file</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error writing the file</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the key is invalid</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'Not implemented in PKey'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> </tt>
-<a name="PKey.write_private_key"></a><div id="PKey.write_private_key-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="PKey.write_private_key-toggle" onclick="return toggle('PKey.write_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#write_private_key">write_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey.write_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey.write_private_key-expanded"><a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> Write private key contents into a file (or file-like) object. If the</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> password is not C{None}, the key is encrypted before writing.</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> @param file_obj: the file object to write into</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> @type file_obj: file</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> @param password: an optional password to use to encrypt the key</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error writing to the file</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the key is invalid</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'Not implemented in PKey'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> </tt>
-<a name="PKey._read_private_key_file"></a><div id="PKey._read_private_key_file-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="PKey._read_private_key_file-toggle" onclick="return toggle('PKey._read_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#_read_private_key_file">_read_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey._read_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey._read_private_key_file-expanded"><a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> Read an SSH2-format private key file, looking for a string of the type</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"> C{"BEGIN xxx PRIVATE KEY"} for some C{xxx}, base64-decode the text we</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"> find, and return it as a string. If the private key is encrypted and</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> C{password} is not C{None}, the given password will be used to decrypt</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"> the key (otherwise L{PasswordRequiredException} is thrown).</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> @param tag: C{"RSA"} or C{"DSA"}, the tag used to mark the data block.</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> @type tag: str</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to read.</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> @param password: an optional password to use to decrypt the key file,</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> if it's encrypted.</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> @return: data blob that makes up the private key.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error reading the file.</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> @raise PasswordRequiredException: if the private key file is</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> encrypted, and C{password} is C{None}.</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the key file is invalid.</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-17', 'open', 'link-17');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_private_key</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-18', 'close', 'link-18');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
-</div><a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> </tt>
-<a name="PKey._read_private_key"></a><div id="PKey._read_private_key-def"><a name="L284"></a><tt class="py-lineno">284</tt> <a class="py-toggle" href="#" id="PKey._read_private_key-toggle" onclick="return toggle('PKey._read_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#_read_private_key">_read_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">f</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey._read_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey._read_private_key-expanded"><a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method paramiko.BufferedFile.readlines()=paramiko.BufferedFile-class.html#readlines"><a title="paramiko.BufferedFile.readlines" class="py-name" href="#" onclick="return doclink('link-19', 'readlines', 'link-19');">readlines</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">start</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'-----BEGIN '</tt> <tt class="py-op">+</tt> <tt class="py-name">tag</tt> <tt class="py-op">+</tt> <tt class="py-string">' PRIVATE KEY-----'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">start</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-20" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-20', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'not a valid '</tt> <tt class="py-op">+</tt> <tt class="py-name">tag</tt> <tt class="py-op">+</tt> <tt class="py-string">' private key file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-comment"># parse any headers first</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">start</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">': '</tt><tt class="py-op">)</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-comment"># find end</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">start</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-name">end</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'-----END '</tt> <tt class="py-op">+</tt> <tt class="py-name">tag</tt> <tt class="py-op">+</tt> <tt class="py-string">' PRIVATE KEY-----'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">end</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-name">end</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-comment"># if we trudged to the end of the file, just try to cope.</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">decodestring</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">:</tt><tt class="py-name">end</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">binascii</tt><tt class="py-op">.</tt><tt class="py-name">Error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-21" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-21', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'base64 decoding error: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'proc-type'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-comment"># unencryped: done</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-comment"># encrypted keyfile: will need a password</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'proc-type'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'4,ENCRYPTED'</tt><tt class="py-op">:</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-22" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-22', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown private key structure "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'proc-type'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">encryption_type</tt><tt class="py-op">,</tt> <tt class="py-name">saltstr</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'dek-info'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-23" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-23', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Can\'t parse DEK-info in private key file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">encryption_type</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-24', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-25" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-25', 'SSHException', 'link-9');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown private key cipher "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">encryption_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-comment"># if no password was passed in, raise an exception pointing out that we need one</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">password</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-26" class="py-name"><a title="paramiko.PasswordRequiredException" class="py-name" href="#" onclick="return doclink('link-26', 'PasswordRequiredException', 'link-10');">PasswordRequiredException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Private key file is encrypted'</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-name">cipher</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-27', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">encryption_type</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'cipher'</tt><tt class="py-op">]</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-name">keysize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-28', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">encryption_type</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'keysize'</tt><tt class="py-op">]</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-29', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">encryption_type</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'mode'</tt><tt class="py-op">]</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">salt</tt> <tt class="py-op">=</tt> <tt class="py-name">unhexlify</tt><tt class="py-op">(</tt><tt class="py-name">saltstr</tt><tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-30', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Function paramiko.util.generate_key_bytes()=paramiko.util-module.html#generate_key_bytes"><a title="paramiko.util.generate_key_bytes" class="py-name" href="#" onclick="return doclink('link-31', 'generate_key_bytes', 'link-31');">generate_key_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">MD5</tt><tt class="py-op">,</tt> <tt class="py-name">salt</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">,</tt> <tt class="py-name">keysize</tt><tt class="py-op">)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cipher</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-32', 'new', 'link-12');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">salt</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decrypt</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> </tt>
-<a name="PKey._write_private_key_file"></a><div id="PKey._write_private_key_file-def"><a name="L331"></a><tt class="py-lineno">331</tt> <a class="py-toggle" href="#" id="PKey._write_private_key_file-toggle" onclick="return toggle('PKey._write_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#_write_private_key_file">_write_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey._write_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey._write_private_key_file-expanded"><a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"><tt class="py-docstring"> Write an SSH2-format private key file in a form that can be read by</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"><tt class="py-docstring"> paramiko or openssh. If no password is given, the key is written in</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"><tt class="py-docstring"> a trivially-encoded format (base64) which is completely insecure. If</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"><tt class="py-docstring"> a password is given, DES-EDE3-CBC is used.</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"><tt class="py-docstring"> @param tag: C{"RSA"} or C{"DSA"}, the tag used to mark the data block.</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"><tt class="py-docstring"> @type tag: str</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to write.</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"><tt class="py-docstring"> @param data: data blob that makes up the private key.</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"><tt class="py-docstring"> @param password: an optional password to use to encrypt the file.</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if there was an error writing the file.</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-33', 'open', 'link-17');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">,</tt> <tt class="py-number">0600</tt><tt class="py-op">)</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-comment"># grrr... the mode doesn't always take hold</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method paramiko.SFTPClient.chmod()=paramiko.SFTPClient-class.html#chmod,Method paramiko.SFTPFile.chmod()=paramiko.SFTPFile-class.html#chmod"><a title="paramiko.SFTPClient.chmod
-paramiko.SFTPFile.chmod" class="py-name" href="#" onclick="return doclink('link-34', 'chmod', 'link-34');">chmod</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-number">0600</tt><tt class="py-op">)</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_private_key</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-35', 'close', 'link-18');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> </tt>
-<a name="PKey._write_private_key"></a><div id="PKey._write_private_key-def"><a name="L355"></a><tt class="py-lineno">355</tt> <a class="py-toggle" href="#" id="PKey._write_private_key-toggle" onclick="return toggle('PKey._write_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.pkey.PKey-class.html#_write_private_key">_write_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">f</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PKey._write_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PKey._write_private_key-expanded"><a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-36', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'-----BEGIN %s PRIVATE KEY-----\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">tag</tt><tt class="py-op">)</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">password</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-comment"># since we only support one cipher here, use it</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-name">cipher_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-37', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-38', 'keys', 'link-38');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-name">cipher</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-39', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">cipher_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'cipher'</tt><tt class="py-op">]</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-name">keysize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-40', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">cipher_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'keysize'</tt><tt class="py-op">]</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-name">blocksize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-41', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">cipher_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'blocksize'</tt><tt class="py-op">]</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.PKey._CIPHER_TABLE" class="py-name" href="#" onclick="return doclink('link-42', '_CIPHER_TABLE', 'link-11');">_CIPHER_TABLE</a></tt><tt class="py-op">[</tt><tt class="py-name">cipher_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'mode'</tt><tt class="py-op">]</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">salt</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-43', 'rng', 'link-43');">rng</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-44', 'read', 'link-44');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-45', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="paramiko.util.generate_key_bytes" class="py-name" href="#" onclick="return doclink('link-46', 'generate_key_bytes', 'link-31');">generate_key_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">MD5</tt><tt class="py-op">,</tt> <tt class="py-name">salt</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">,</tt> <tt class="py-name">keysize</tt><tt class="py-op">)</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">blocksize</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">blocksize</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">blocksize</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-comment">#data += rng.read(n)</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-comment"># that would make more sense ^, but it confuses openssh.</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">+=</tt> <tt class="py-string">'\0'</tt> <tt class="py-op">*</tt> <tt class="py-name">n</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">cipher</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-47', 'new', 'link-12');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">salt</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encrypt</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-48', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'Proc-Type: 4,ENCRYPTED\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-49', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'DEK-Info: %s,%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">cipher_name</tt><tt class="py-op">,</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-50', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">encodestring</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-comment"># re-wrap to 64-char lines</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-op">:</tt> <tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">64</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">64</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-51', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-52', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-53', 'write', 'link-36');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'-----END %s PRIVATE KEY-----\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">tag</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.primes-module.html b/docs/paramiko.primes-module.html
deleted file mode 100644
index c507d4e..0000000
--- a/docs/paramiko.primes-module.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.primes</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;primes
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.primes-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module primes</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.primes-pysrc.html">source&nbsp;code</a></span></p>
-<p>Utility functions for dealing with primes.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.primes.ModulusPack-class.html" class="summary-name">ModulusPack</a><br />
- convenience object for holding the contents of the /etc/ssh/moduli
- file, on systems that have such a file.
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.primes-pysrc.html b/docs/paramiko.primes-pysrc.html
deleted file mode 100644
index eabf841..0000000
--- a/docs/paramiko.primes-pysrc.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.primes</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;primes
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.primes-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.primes-module.html" onclick="show_private();">Module paramiko.primes</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Utility functions for dealing with primes.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">number</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-3', 'ssh_exception', 'link-3');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-4', 'SSHException', 'link-4');">SSHException</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="_generate_prime"></a><div id="_generate_prime-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="_generate_prime-toggle" onclick="return toggle('_generate_prime');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.primes-module.html#_generate_prime">_generate_prime</a><tt class="py-op">(</tt><tt class="py-param">bits</tt><tt class="py-op">,</tt> <tt class="py-param">rng</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_generate_prime-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_generate_prime-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-docstring">"primtive attempt at prime generation"</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-name">hbyte_mask</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">bits</tt> <tt class="py-op">%</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-comment"># loop catches the case where we increment n into a higher bit-range</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-5', 'rng', 'link-5');">rng</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-6', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">bits</tt><tt class="py-op">+</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> <tt class="py-op">//</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hbyte_mask</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">hbyte_mask</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-7', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-8', 'inflate_long', 'link-8');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">|=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">|=</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-op">(</tt><tt class="py-name">bits</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">number</tt><tt class="py-op">.</tt><tt class="py-name">isPrime</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">+=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-9" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-9', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function paramiko.util.bit_length()=paramiko.util-module.html#bit_length"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-10', 'bit_length', 'link-10');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">bits</tt><tt class="py-op">:</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">n</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt>
-<a name="_roll_random"></a><div id="_roll_random-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="_roll_random-toggle" onclick="return toggle('_roll_random');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.primes-module.html#_roll_random">_roll_random</a><tt class="py-op">(</tt><tt class="py-param">rng</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_roll_random-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_roll_random-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-docstring">"returns a random # from 0 to N-1"</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">bits</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-11', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-12', 'bit_length', 'link-10');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">bytes</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">bits</tt> <tt class="py-op">+</tt> <tt class="py-number">7</tt><tt class="py-op">)</tt> <tt class="py-op">//</tt> <tt class="py-number">8</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">hbyte_mask</tt> <tt class="py-op">=</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">bits</tt> <tt class="py-op">%</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-comment"># so here's the plan:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-comment"># we fetch as many random bits as we'd need to fit N-1, and if the</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-comment"># generated number is &gt;= N, we try again. in the worst case (N-1 is a</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-comment"># power of 2), we have slightly better than 50% odds of getting one that</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-comment"># fits, so i can't guarantee that this loop will ever finish, but the odds</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-comment"># of it looping forever should be infinitesimal.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-13', 'rng', 'link-5');">rng</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-14', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hbyte_mask</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">hbyte_mask</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-15', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-16', 'inflate_long', 'link-8');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">num</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">n</tt><tt class="py-op">:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">num</tt> </tt>
-</div><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
-<a name="ModulusPack"></a><div id="ModulusPack-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="ModulusPack-toggle" onclick="return toggle('ModulusPack');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.primes.ModulusPack-class.html">ModulusPack</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ModulusPack-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ModulusPack-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> convenience object for holding the contents of the /etc/ssh/moduli file,</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> on systems that have such a file.</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
-<a name="ModulusPack.__init__"></a><div id="ModulusPack.__init__-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="ModulusPack.__init__-toggle" onclick="return toggle('ModulusPack.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.primes.ModulusPack-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">rpool</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ModulusPack.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ModulusPack.__init__-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-comment"># pack is a hash of: bits -&gt; [ (generator, modulus) ... ]</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">discarded</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-17', 'rng', 'link-5');">rng</a></tt> <tt class="py-op">=</tt> <tt class="py-name">rpool</tt> </tt>
-</div><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
-<a name="ModulusPack._parse_modulus"></a><div id="ModulusPack._parse_modulus-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="ModulusPack._parse_modulus-toggle" onclick="return toggle('ModulusPack._parse_modulus');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.primes.ModulusPack-class.html#_parse_modulus">_parse_modulus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ModulusPack._parse_modulus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ModulusPack._parse_modulus-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">timestamp</tt><tt class="py-op">,</tt> <tt class="py-name">mod_type</tt><tt class="py-op">,</tt> <tt class="py-name">tests</tt><tt class="py-op">,</tt> <tt class="py-name">tries</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">generator</tt><tt class="py-op">,</tt> <tt class="py-name">modulus</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">mod_type</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">mod_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">tests</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">tests</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">tries</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">tries</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">generator</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">generator</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">modulus</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">modulus</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-comment"># weed out primes that aren't at least:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment"># type 2 (meets basic structural requirements)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-comment"># test 4 (more than just a small-prime sieve)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-comment"># tries &lt; 100 if test &amp; 4 (at least 100 tries of miller-rabin)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">mod_type</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">tests</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">tests</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">tests</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">tries</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">discarded</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">modulus</tt><tt class="py-op">,</tt> <tt class="py-string">'does not meet basic requirements'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">generator</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">generator</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-comment"># there's a bug in the ssh "moduli" file (yeah, i know: shock! dismay!</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-comment"># call cnn!) where it understates the bit lengths of these primes by 1.</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-comment"># this is okay.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">bl</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-18', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-19', 'bit_length', 'link-10');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">modulus</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">bl</tt> <tt class="py-op">!=</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">bl</tt> <tt class="py-op">!=</tt> <tt class="py-name">size</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">discarded</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">modulus</tt><tt class="py-op">,</tt> <tt class="py-string">'incorrectly reported bit length %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bl</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">[</tt><tt class="py-name">bl</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">[</tt><tt class="py-name">bl</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">generator</tt><tt class="py-op">,</tt> <tt class="py-name">modulus</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> </tt>
-<a name="ModulusPack.read_file"></a><div id="ModulusPack.read_file-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="ModulusPack.read_file-toggle" onclick="return toggle('ModulusPack.read_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.primes.ModulusPack-class.html#read_file">read_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ModulusPack.read_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ModulusPack.read_file-expanded"><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: passed from any file operations that fail.</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-20', 'open', 'link-20');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'#'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_modulus</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-21', 'close', 'link-21');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
-<a name="ModulusPack.get_modulus"></a><div id="ModulusPack.get_modulus-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="ModulusPack.get_modulus-toggle" onclick="return toggle('ModulusPack.get_modulus');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.primes.ModulusPack-class.html#get_modulus">get_modulus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">min</tt><tt class="py-op">,</tt> <tt class="py-param">prefer</tt><tt class="py-op">,</tt> <tt class="py-param">max</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ModulusPack.get_modulus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ModulusPack.get_modulus-expanded"><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">bitsizes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-22', 'keys', 'link-22');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">bitsizes</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">bitsizes</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-23" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-23', 'SSHException', 'link-4');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'no moduli available'</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">good</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-comment"># find nearest bitsize &gt;= preferred</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt class="py-name">bitsizes</tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">b</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">prefer</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">b</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">max</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">b</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">good</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">good</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">good</tt> <tt class="py-op">=</tt> <tt class="py-name">b</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-comment"># if that failed, find greatest bitsize &gt;= min</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">good</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt class="py-name">bitsizes</tt><tt class="py-op">:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">b</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">min</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">b</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">max</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">b</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">good</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">good</tt> <tt class="py-op">=</tt> <tt class="py-name">b</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">good</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-comment"># their entire (min, max) range has no intersection with our range.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-comment"># if their range is below ours, pick the smallest. otherwise pick</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-comment"># the largest. it'll be out of their range requirement either way,</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-comment"># but we'll be sending them the closest one we have.</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">good</tt> <tt class="py-op">=</tt> <tt class="py-name">bitsizes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">min</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">good</tt><tt class="py-op">:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">good</tt> <tt class="py-op">=</tt> <tt class="py-name">bitsizes</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-comment"># now pick a random modulus of this bitsize</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">_roll_random</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-24', 'rng', 'link-5');">rng</a></tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">[</tt><tt class="py-name">good</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">[</tt><tt class="py-name">good</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">]</tt> </tt>
-</div></div><a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.primes.ModulusPack-class.html b/docs/paramiko.primes.ModulusPack-class.html
deleted file mode 100644
index e584c54..0000000
--- a/docs/paramiko.primes.ModulusPack-class.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.primes.ModulusPack</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.primes-module.html" onclick="show_private();">Module&nbsp;primes</a> ::
- Class&nbsp;ModulusPack
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.primes.ModulusPack-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ModulusPack</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.primes-pysrc.html#ModulusPack">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">ModulusPack</strong>
-</pre>
-
-<hr />
-<p>convenience object for holding the contents of the /etc/ssh/moduli
- file, on systems that have such a file.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.primes.ModulusPack-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">rpool</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.primes-pysrc.html#ModulusPack.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.primes.ModulusPack-class.html#read_file" class="summary-sig-name">read_file</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">filename</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.primes-pysrc.html#ModulusPack.read_file">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_modulus"></a><span class="summary-sig-name">get_modulus</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">min</span>,
- <span class="summary-sig-arg">prefer</span>,
- <span class="summary-sig-arg">max</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.primes-pysrc.html#ModulusPack.get_modulus">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">rpool</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.primes-pysrc.html#ModulusPack.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<a name="read_file"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">read_file</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">filename</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.primes-pysrc.html#ModulusPack.read_file">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
-
- <dl class="fields">
- <dt>Raises:</dt>
- <dd><ul class="nomargin-top">
- <li><code><strong class='fraise'>IOError</strong></code> - passed from any file operations that fail.</li>
- </ul></dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.resource-module.html b/docs/paramiko.resource-module.html
deleted file mode 100644
index 7bcd6d0..0000000
--- a/docs/paramiko.resource-module.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.resource</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;resource
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.resource-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module resource</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.resource-pysrc.html">source&nbsp;code</a></span></p>
-<p>Resource manager.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ResourceManager"></a><span class="summary-name">ResourceManager</span> = <code title="ResourceManager()">ResourceManager()</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.resource-pysrc.html b/docs/paramiko.resource-pysrc.html
deleted file mode 100644
index 0322572..0000000
--- a/docs/paramiko.resource-pysrc.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.resource</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;resource
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.resource-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.resource-module.html" onclick="show_private();">Module paramiko.resource</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-docstring">Resource manager.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">weakref</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
-<a name="ResourceManager"></a><div id="ResourceManager-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="ResourceManager-toggle" onclick="return toggle('ResourceManager');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.resource.ResourceManager-class.html">ResourceManager</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceManager-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ResourceManager-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt class="py-docstring"> A registry of objects and resources that should be closed when those</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"><tt class="py-docstring"> objects are deleted.</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"><tt class="py-docstring"> This is meant to be a safer alternative to python's C{__del__} method,</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"><tt class="py-docstring"> which can cause reference cycles to never be collected. Objects registered</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"><tt class="py-docstring"> with the ResourceManager can be collected but still free resources when</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"><tt class="py-docstring"> they die.</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"><tt class="py-docstring"> Resources are registered using L{register}, and when an object is garbage</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"><tt class="py-docstring"> collected, each registered resource is closed by having its C{close()}</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"><tt class="py-docstring"> method called. Multiple resources may be registered per object, but a</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"><tt class="py-docstring"> resource will only be closed once, even if multiple objects register it.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"><tt class="py-docstring"> (The last object to register it wins.)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
-<a name="ResourceManager.__init__"></a><div id="ResourceManager.__init__-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="ResourceManager.__init__-toggle" onclick="return toggle('ResourceManager.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.resource.ResourceManager-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceManager.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ResourceManager.__init__-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_table</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
-<a name="ResourceManager.register"></a><div id="ResourceManager.register-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="ResourceManager.register-toggle" onclick="return toggle('ResourceManager.register');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.resource.ResourceManager-class.html#register">register</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">obj</tt><tt class="py-op">,</tt> <tt class="py-param">resource</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceManager.register-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ResourceManager.register-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"><tt class="py-docstring"> Register a resource to be closed with an object is collected.</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"><tt class="py-docstring"> When the given C{obj} is garbage-collected by the python interpreter,</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt class="py-docstring"> the C{resource} will be closed by having its C{close()} method called.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"><tt class="py-docstring"> Any exceptions are ignored.</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"><tt class="py-docstring"> @param obj: the object to track</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-docstring"> @type obj: object</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"><tt class="py-docstring"> @param resource: the resource to close when the object is collected</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"><tt class="py-docstring"> @type resource: object</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">callback</tt><tt class="py-op">(</tt><tt class="py-param">ref</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Module paramiko.resource=paramiko.resource-module.html"><a title="paramiko.resource" class="py-name" href="#" onclick="return doclink('link-0', 'resource', 'link-0');">resource</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-1', 'close', 'link-1');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_table</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt id="link-2" class="py-name"><a title="paramiko.resource" class="py-name" href="#" onclick="return doclink('link-2', 'resource', 'link-0');">resource</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-comment"># keep the weakref in a table so it sticks around long enough to get</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-comment"># its callback called. :)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_table</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt id="link-3" class="py-name"><a title="paramiko.resource" class="py-name" href="#" onclick="return doclink('link-3', 'resource', 'link-0');">resource</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">weakref</tt><tt class="py-op">.</tt><tt class="py-name">ref</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">,</tt> <tt class="py-name">callback</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"><tt class="py-comment"># singleton</tt> </tt>
-<a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable paramiko.resource.ResourceManager=paramiko.resource-module.html#ResourceManager"><a title="paramiko.resource.ResourceManager" class="py-name" href="#" onclick="return doclink('link-4', 'ResourceManager', 'link-4');">ResourceManager</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="paramiko.resource.ResourceManager" class="py-name" href="#" onclick="return doclink('link-5', 'ResourceManager', 'link-4');">ResourceManager</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno">73</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:06 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.rsakey-module.html b/docs/paramiko.rsakey-module.html
deleted file mode 100644
index fe3358b..0000000
--- a/docs/paramiko.rsakey-module.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.rsakey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;rsakey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.rsakey-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module rsakey</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.rsakey-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.RSAKey-class.html" class="link">RSAKey</a></p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.rsakey-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.rsakey-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.rsakey-pysrc.html b/docs/paramiko.rsakey-pysrc.html
deleted file mode 100644
index 8deccb5..0000000
--- a/docs/paramiko.rsakey-pysrc.html
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.rsakey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;rsakey
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.rsakey-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.rsakey-module.html" onclick="show_private();">Module paramiko.rsakey</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{RSAKey}</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">PublicKey</tt> <tt class="py-keyword">import</tt> <tt class="py-name">RSA</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA</tt><tt class="py-op">,</tt> <tt class="py-name">MD5</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Cipher</tt> <tt class="py-keyword">import</tt> <tt class="py-name">DES3</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-6', 'Message', 'link-6');">Message</a></tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.ber=paramiko.ber-module.html"><a title="paramiko.ber" class="py-name" href="#" onclick="return doclink('link-8', 'ber', 'link-8');">ber</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.ber.BER=paramiko.ber.BER-class.html"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-9', 'BER', 'link-9');">BER</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Class paramiko.ber.BERException=paramiko.ber.BERException-class.html"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-10', 'BERException', 'link-10');">BERException</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-11" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-11', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Module paramiko.pkey=paramiko.pkey-module.html"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-12', 'pkey', 'link-12');">pkey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-13" class="py-name" targets="Class paramiko.PKey=paramiko.PKey-class.html"><a title="paramiko.PKey" class="py-name" href="#" onclick="return doclink('link-13', 'PKey', 'link-13');">PKey</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-14" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-14', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-15', 'ssh_exception', 'link-15');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-16" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-16', 'SSHException', 'link-16');">SSHException</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> </tt>
-<a name="RSAKey"></a><div id="RSAKey-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="RSAKey-toggle" onclick="return toggle('RSAKey');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html">RSAKey</a> <tt class="py-op">(</tt><tt class="py-base-class">PKey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RSAKey-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> Representation of an RSA key which can be used to sign and verify SSH2</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> data.</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.__init__"></a><div id="RSAKey.__init__-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="RSAKey.__init__-toggle" onclick="return toggle('RSAKey.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">vals</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.__init__-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">file_obj</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_from_private_key</tt><tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_from_private_key_file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">msg</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">data</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-17', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">vals</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">vals</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">msg</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-18" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-18', 'SSHException', 'link-16');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Key object may not be empty'</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-19', 'get_string', 'link-19');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ssh-rsa'</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-20" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-20', 'SSHException', 'link-16');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Invalid key'</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method paramiko.Message.get_mpint()=paramiko.Message-class.html#get_mpint"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-21', 'get_mpint', 'link-21');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.Message.get_mpint" class="py-name" href="#" onclick="return doclink('link-22', 'get_mpint', 'link-21');">get_mpint</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-23', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Function paramiko.util.bit_length()=paramiko.util-module.html#bit_length"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-24', 'bit_length', 'link-24');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.__str__"></a><div id="RSAKey.__str__-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="RSAKey.__str__-toggle" onclick="return toggle('RSAKey.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.__str__-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-25', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-26', 'add_string', 'link-26');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'ssh-rsa'</tt><tt class="py-op">)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method paramiko.Message.add_mpint()=paramiko.Message-class.html#add_mpint"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-27', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-28', 'add_mpint', 'link-27');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.__hash__"></a><div id="RSAKey.__hash__-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="RSAKey.__hash__-toggle" onclick="return toggle('RSAKey.__hash__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#__hash__">__hash__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.__hash__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.__hash__-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-29', 'get_name', 'link-29');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt> <tt class="py-op">+</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt> <tt class="py-op">+</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">h</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.get_name"></a><div id="RSAKey.get_name-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="RSAKey.get_name-toggle" onclick="return toggle('RSAKey.get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#get_name">get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.get_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.get_name-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'ssh-rsa'</tt> </tt>
-</div><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.get_bits"></a><div id="RSAKey.get_bits-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="RSAKey.get_bits-toggle" onclick="return toggle('RSAKey.get_bits');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#get_bits">get_bits</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.get_bits-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.get_bits-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.can_sign"></a><div id="RSAKey.can_sign-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="RSAKey.can_sign-toggle" onclick="return toggle('RSAKey.can_sign');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#can_sign">can_sign</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.can_sign-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.can_sign-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.sign_ssh_data"></a><div id="RSAKey.sign_ssh_data-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="RSAKey.sign_ssh_data-toggle" onclick="return toggle('RSAKey.sign_ssh_data');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#sign_ssh_data">sign_ssh_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">rpool</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.sign_ssh_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.sign_ssh_data-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">digest</tt> <tt class="py-op">=</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-30', 'new', 'link-30');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">rsa</tt> <tt class="py-op">=</tt> <tt class="py-name">RSA</tt><tt class="py-op">.</tt><tt class="py-name">construct</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-31', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Function paramiko.util.deflate_long()=paramiko.util-module.html#deflate_long"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-32', 'deflate_long', 'link-32');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">sign</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pkcs1imify</tt><tt class="py-op">(</tt><tt class="py-name">digest</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-33', 'Message', 'link-6');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-34', 'add_string', 'link-26');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'ssh-rsa'</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-35', 'add_string', 'link-26');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">m</tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.verify_ssh_sig"></a><div id="RSAKey.verify_ssh_sig-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="RSAKey.verify_ssh_sig-toggle" onclick="return toggle('RSAKey.verify_ssh_sig');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#verify_ssh_sig">verify_ssh_sig</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.verify_ssh_sig-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.verify_ssh_sig-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-36', 'get_string', 'link-19');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ssh-rsa'</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-37', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-38', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-39', 'get_string', 'link-19');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-comment"># verify the signature by SHA'ing the data and encrypting it using the</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-comment"># public key. some wackiness ensues where we "pkcs1imify" the 20-byte</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-comment"># hash into a string as long as the RSA key.</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-40', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-41', 'inflate_long', 'link-38');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pkcs1imify</tt><tt class="py-op">(</tt><tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-42', 'new', 'link-30');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">rsa</tt> <tt class="py-op">=</tt> <tt class="py-name">RSA</tt><tt class="py-op">.</tt><tt class="py-name">construct</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">verify</tt><tt class="py-op">(</tt><tt class="py-name">hash_obj</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> </tt>
-<a name="RSAKey._encode_key"></a><div id="RSAKey._encode_key-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="RSAKey._encode_key-toggle" onclick="return toggle('RSAKey._encode_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#_encode_key">_encode_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey._encode_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey._encode_key-expanded"><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-43" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-43', 'SSHException', 'link-16');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Not enough key info to write private key file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">keylist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt id="link-44" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-44', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Function paramiko.util.mod_inverse()=paramiko.util-module.html#mod_inverse"><a title="paramiko.util.mod_inverse" class="py-name" href="#" onclick="return doclink('link-45', 'mod_inverse', 'link-45');">mod_inverse</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-46', 'BER', 'link-9');">BER</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method paramiko.ber.BER.encode()=paramiko.ber.BER-class.html#encode"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-47', 'encode', 'link-47');">encode</a></tt><tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-48" class="py-name"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-48', 'BERException', 'link-10');">BERException</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-49" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-49', 'SSHException', 'link-16');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unable to create ber encoding of key'</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.write_private_key_file"></a><div id="RSAKey.write_private_key_file-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="RSAKey.write_private_key_file-toggle" onclick="return toggle('RSAKey.write_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#write_private_key_file">write_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.write_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.write_private_key_file-expanded"><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_private_key_file</tt><tt class="py-op">(</tt><tt class="py-string">'RSA'</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_encode_key</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.write_private_key"></a><div id="RSAKey.write_private_key-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="RSAKey.write_private_key-toggle" onclick="return toggle('RSAKey.write_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#write_private_key">write_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.write_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.write_private_key-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_private_key</tt><tt class="py-op">(</tt><tt class="py-string">'RSA'</tt><tt class="py-op">,</tt> <tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_encode_key</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> </tt>
-<a name="RSAKey.generate"></a><div id="RSAKey.generate-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="RSAKey.generate-toggle" onclick="return toggle('RSAKey.generate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#generate">generate</a><tt class="py-op">(</tt><tt class="py-param">bits</tt><tt class="py-op">,</tt> <tt class="py-param">progress_func</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey.generate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey.generate-expanded"><a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> Generate a new private RSA key. This factory function can be used to</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> generate a new host key or authentication key.</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> @param bits: number of bits the generated key should be.</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> @type bits: int</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> @param progress_func: an optional function to call at key points in</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> key generation (used by C{pyCrypto.PublicKey}).</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> @type progress_func: function</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> @return: new private key</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{RSAKey}</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">rsa</tt> <tt class="py-op">=</tt> <tt class="py-name">RSA</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Static Method paramiko.DSSKey.generate()=paramiko.DSSKey-class.html#generate,Static Method paramiko.RSAKey.generate()=paramiko.RSAKey-class.html#generate"><a title="paramiko.DSSKey.generate
-paramiko.RSAKey.generate" class="py-name" href="#" onclick="return doclink('link-50', 'generate', 'link-50');">generate</a></tt><tt class="py-op">(</tt><tt class="py-name">bits</tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-51', 'rng', 'link-51');">rng</a></tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-52', 'read', 'link-52');">read</a></tt><tt class="py-op">,</tt> <tt class="py-name">progress_func</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name" targets="Class paramiko.RSAKey=paramiko.RSAKey-class.html"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-53', 'RSAKey', 'link-53');">RSAKey</a></tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">rsa</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt id="link-54" class="py-name"><a title="paramiko.DSSKey.generate
-paramiko.RSAKey.generate" class="py-name" href="#" onclick="return doclink('link-54', 'generate', 'link-50');">generate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-55" class="py-name"><a title="paramiko.DSSKey.generate
-paramiko.RSAKey.generate" class="py-name" href="#" onclick="return doclink('link-55', 'generate', 'link-50');">generate</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt>
-<a name="RSAKey._pkcs1imify"></a><div id="RSAKey._pkcs1imify-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="RSAKey._pkcs1imify-toggle" onclick="return toggle('RSAKey._pkcs1imify');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#_pkcs1imify">_pkcs1imify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey._pkcs1imify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey._pkcs1imify-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> turn a 20-byte SHA1 hash into a blob of data as large as the key's N,</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> using PKCS1's \"emsa-pkcs1-v1_5\" encoding. totally bizarre.</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">SHA1_DIGESTINFO</tt> <tt class="py-op">=</tt> <tt class="py-string">'\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14'</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-56" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-56', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-57', 'deflate_long', 'link-32');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">filler</tt> <tt class="py-op">=</tt> <tt class="py-string">'\xff'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">SHA1_DIGESTINFO</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'\x00\x01'</tt> <tt class="py-op">+</tt> <tt class="py-name">filler</tt> <tt class="py-op">+</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">+</tt> <tt class="py-name">SHA1_DIGESTINFO</tt> <tt class="py-op">+</tt> <tt class="py-name">data</tt> </tt>
-</div><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> </tt>
-<a name="RSAKey._from_private_key_file"></a><div id="RSAKey._from_private_key_file-def"><a name="L162"></a><tt class="py-lineno">162</tt> <a class="py-toggle" href="#" id="RSAKey._from_private_key_file-toggle" onclick="return toggle('RSAKey._from_private_key_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#_from_private_key_file">_from_private_key_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey._from_private_key_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey._from_private_key_file-expanded"><a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_private_key_file</tt><tt class="py-op">(</tt><tt class="py-string">'RSA'</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_decode_key</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> </tt>
-<a name="RSAKey._from_private_key"></a><div id="RSAKey._from_private_key-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="RSAKey._from_private_key-toggle" onclick="return toggle('RSAKey._from_private_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#_from_private_key">_from_private_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file_obj</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey._from_private_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey._from_private_key-expanded"><a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_private_key</tt><tt class="py-op">(</tt><tt class="py-string">'RSA'</tt><tt class="py-op">,</tt> <tt class="py-name">file_obj</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_decode_key</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> </tt>
-<a name="RSAKey._decode_key"></a><div id="RSAKey._decode_key-def"><a name="L170"></a><tt class="py-lineno">170</tt> <a class="py-toggle" href="#" id="RSAKey._decode_key-toggle" onclick="return toggle('RSAKey._decode_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.rsakey.RSAKey-class.html#_decode_key">_decode_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RSAKey._decode_key-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RSAKey._decode_key-expanded"><a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-comment"># private key file contains:</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-comment"># RSAPrivateKey = { version = 0, n, e, d, p, q, d mod p-1, d mod q-1, q**-1 mod p }</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">keylist</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="paramiko.ber.BER" class="py-name" href="#" onclick="return doclink('link-58', 'BER', 'link-9');">BER</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method paramiko.ber.BER.decode()=paramiko.ber.BER-class.html#decode"><a title="paramiko.ber.BER.decode" class="py-name" href="#" onclick="return doclink('link-59', 'decode', 'link-59');">decode</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-60" class="py-name"><a title="paramiko.ber.BERException" class="py-name" href="#" onclick="return doclink('link-60', 'BERException', 'link-10');">BERException</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-61" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-61', 'SSHException', 'link-16');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unable to parse key file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-62" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-62', 'SSHException', 'link-16');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Not a valid RSA private key file (bad ber encoding)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-comment"># not really needed</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">keylist</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-63', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.util.bit_length" class="py-name" href="#" onclick="return doclink('link-64', 'bit_length', 'link-24');">bit_length</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:06 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.server-module.html b/docs/paramiko.server-module.html
deleted file mode 100644
index 0583da6..0000000
--- a/docs/paramiko.server-module.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.server</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;server
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.server-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module server</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.server-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.ServerInterface-class.html"
- class="link">ServerInterface</a> is an interface to override for server
- support.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.server-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.server-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.server-pysrc.html b/docs/paramiko.server-pysrc.html
deleted file mode 100644
index 87a9294..0000000
--- a/docs/paramiko.server-pysrc.html
+++ /dev/null
@@ -1,1006 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.server</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;server
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.server-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.server-module.html" onclick="show_private();">Module paramiko.server</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{ServerInterface} is an interface to override for server support.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="InteractiveQuery"></a><div id="InteractiveQuery-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="InteractiveQuery-toggle" onclick="return toggle('InteractiveQuery');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.server.InteractiveQuery-class.html">InteractiveQuery</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InteractiveQuery-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InteractiveQuery-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> A query (set of prompts) for a user during interactive authentication.</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="InteractiveQuery.__init__"></a><div id="InteractiveQuery.__init__-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="InteractiveQuery.__init__-toggle" onclick="return toggle('InteractiveQuery.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.InteractiveQuery-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">instructions</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">prompts</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InteractiveQuery.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="InteractiveQuery.__init__-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> Create a new interactive query to send to the client. The name and</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> instructions are optional, but are generally displayed to the end</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> user. A list of prompts may be included, or they may be added via</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> the L{add_prompt} method.</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name of this query</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> @param instructions: user instructions (usually short) about this query</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> @type instructions: str</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> @param prompts: one or more authentication prompts</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> @type prompts: str</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-4', 'name', 'link-4');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-5', 'name', 'link-4');">name</a></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">instructions</tt> <tt class="py-op">=</tt> <tt class="py-name">instructions</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">prompts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">prompts</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">add_prompt</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">add_prompt</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
-<a name="InteractiveQuery.add_prompt"></a><div id="InteractiveQuery.add_prompt-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="InteractiveQuery.add_prompt-toggle" onclick="return toggle('InteractiveQuery.add_prompt');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.InteractiveQuery-class.html#add_prompt">add_prompt</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prompt</tt><tt class="py-op">,</tt> <tt class="py-param">echo</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InteractiveQuery.add_prompt-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="InteractiveQuery.add_prompt-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> Add a prompt to this query. The prompt should be a (reasonably short)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> string. Multiple prompts can be added to the same query.</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> @param prompt: the user prompt</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> @type prompt: str</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> @param echo: C{True} (default) if the user's response should be echoed;</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> C{False} if not (for a password or similar)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> @type echo: bool</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">prompts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">prompt</tt><tt class="py-op">,</tt> <tt class="py-name">echo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface"></a><div id="ServerInterface-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="ServerInterface-toggle" onclick="return toggle('ServerInterface');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html">ServerInterface</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ServerInterface-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> This class defines an interface for controlling the behavior of paramiko</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> in server mode.</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> Methods on this class are called from paramiko's primary thread, so you</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> shouldn't do too much work in them. (Certainly nothing that blocks or</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> sleeps.)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_request"></a><div id="ServerInterface.check_channel_request-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_request-toggle" onclick="return toggle('ServerInterface.check_channel_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_request">check_channel_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">kind</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_request-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a channel request of a given type will be granted, and</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"> return C{OPEN_SUCCEEDED} or an error code. This method is</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> called in server mode when the client requests a channel, after</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> authentication is complete.</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> If you allow channel requests (and an ssh server that didn't would be</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> useless), you should also override some of the channel request methods</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> below, which are used to determine which services will be allowed on</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> a given channel:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> - L{check_channel_pty_request}</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> - L{check_channel_shell_request}</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> - L{check_channel_subsystem_request}</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> - L{check_channel_window_change_request}</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"> - L{check_channel_x11_request}</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> The C{chanid} parameter is a small number that uniquely identifies the</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> channel within a L{Transport}. A L{Channel} object is not created</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> unless this method returns C{OPEN_SUCCEEDED} -- once a</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel} object is created, you can call L{Channel.get_id} to</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> retrieve the channel ID.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> The return value should either be C{OPEN_SUCCEEDED} (or</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> C{0}) to allow the channel request, or one of the following error</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> codes to reject it:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED}</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_CONNECT_FAILED}</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_UNKNOWN_CHANNEL_TYPE}</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_RESOURCE_SHORTAGE}</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> C{OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED}.</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> @param kind: the kind of channel the client would like to open</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> (usually C{"session"}).</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> @type kind: str</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> @param chanid: ID of the channel</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> @type chanid: int</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> @return: a success or failure code (listed above)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.auth_handler-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.channel-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.common-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.dsskey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.hostkeys-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_gex-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_group1-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.packet-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.pkey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.rsakey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_attr-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_file-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_handle-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_si-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.transport-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"><a title="paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED" class="py-name" href="#" onclick="return doclink('link-6', 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED', 'link-6');">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a></tt> </tt>
-</div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.get_allowed_auths"></a><div id="ServerInterface.get_allowed_auths-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="ServerInterface.get_allowed_auths-toggle" onclick="return toggle('ServerInterface.get_allowed_auths');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#get_allowed_auths">get_allowed_auths</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.get_allowed_auths-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.get_allowed_auths-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> Return a list of authentication methods supported by the server.</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> This list is sent to clients attempting to authenticate, to inform them</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> of authentication methods that might be successful.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> The "list" is actually a string of comma-separated names of types of</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> authentication. Possible values are C{"password"}, C{"publickey"},</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> and C{"none"}.</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{"password"}.</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username requesting authentication.</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> @return: a comma-separated list of authentication types</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'password'</tt> </tt>
-</div><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_auth_none"></a><div id="ServerInterface.check_auth_none-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="ServerInterface.check_auth_none-toggle" onclick="return toggle('ServerInterface.check_auth_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_auth_none">check_auth_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_auth_none-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_auth_none-expanded"><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a client may open channels with no (further)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> authentication.</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"> Return L{AUTH_FAILED} if the client must authenticate, or</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if it's okay for the client to not</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> authenticate.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns L{AUTH_FAILED}.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username of the client.</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> @return: L{AUTH_FAILED} if the authentication fails;</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if it succeeds.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-7" class="py-name" targets="Variable paramiko.auth_handler.AUTH_FAILED=paramiko.auth_handler-module.html#AUTH_FAILED,Variable paramiko.channel.AUTH_FAILED=paramiko.channel-module.html#AUTH_FAILED,Variable paramiko.client.AUTH_FAILED=paramiko.client-module.html#AUTH_FAILED,Variable paramiko.common.AUTH_FAILED=paramiko.common-module.html#AUTH_FAILED,Variable paramiko.dsskey.AUTH_FAILED=paramiko.dsskey-module.html#AUTH_FAILED,Variable paramiko.hostkeys.AUTH_FAILED=paramiko.hostkeys-module.html#AUTH_FAILED,Variable paramiko.kex_gex.AUTH_FAILED=paramiko.kex_gex-module.html#AUTH_FAILED,Variable paramiko.kex_group1.AUTH_FAILED=paramiko.kex_group1-module.html#AUTH_FAILED,Variable paramiko.packet.AUTH_FAILED=paramiko.packet-module.html#AUTH_FAILED,Variable paramiko.pkey.AUTH_FAILED=paramiko.pkey-module.html#AUTH_FAILED,Variable paramiko.rsakey.AUTH_FAILED=paramiko.rsakey-module.html#AUTH_FAILED,Variable paramiko.server.AUTH_FAILED=paramiko.server-module.html#AUTH_FAILED,Variable paramiko.sftp.AUTH_FAILED=paramiko.sftp-module.html#AUTH_FAILED,Variable paramiko.sftp_attr.AUTH_FAILED=paramiko.sftp_attr-module.html#AUTH_FAILED,Variable paramiko.sftp_client.AUTH_FAILED=paramiko.sftp_client-module.html#AUTH_FAILED,Variable paramiko.sftp_file.AUTH_FAILED=paramiko.sftp_file-module.html#AUTH_FAILED,Variable paramiko.sftp_handle.AUTH_FAILED=paramiko.sftp_handle-module.html#AUTH_FAILED,Variable paramiko.sftp_server.AUTH_FAILED=paramiko.sftp_server-module.html#AUTH_FAILED,Variable paramiko.sftp_si.AUTH_FAILED=paramiko.sftp_si-module.html#AUTH_FAILED,Variable paramiko.transport.AUTH_FAILED=paramiko.transport-module.html#AUTH_FAILED,Variable paramiko.util.AUTH_FAILED=paramiko.util-module.html#AUTH_FAILED"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-7', 'AUTH_FAILED', 'link-7');">AUTH_FAILED</a></tt> </tt>
-</div><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_auth_password"></a><div id="ServerInterface.check_auth_password-def"><a name="L162"></a><tt class="py-lineno">162</tt> <a class="py-toggle" href="#" id="ServerInterface.check_auth_password-toggle" onclick="return toggle('ServerInterface.check_auth_password');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_auth_password">check_auth_password</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_auth_password-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_auth_password-expanded"><a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a given username and password supplied by the client is</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> acceptable for use in authentication.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> Return L{AUTH_FAILED} if the password is not accepted,</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if the password is accepted and completes</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> the authentication, or L{AUTH_PARTIALLY_SUCCESSFUL} if your</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> authentication is stateful, and this key is accepted for</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> authentication, but more authentication is required. (In this latter</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> case, L{get_allowed_auths} will be called to report to the client what</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> options it has for continuing the authentication.)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns L{AUTH_FAILED}.</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username of the authenticating client.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> @param password: the password given by the client.</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> @return: L{AUTH_FAILED} if the authentication fails;</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if it succeeds;</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_PARTIALLY_SUCCESSFUL} if the password auth is</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> successful, but authentication must continue.</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-8', 'AUTH_FAILED', 'link-7');">AUTH_FAILED</a></tt> </tt>
-</div><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_auth_publickey"></a><div id="ServerInterface.check_auth_publickey-def"><a name="L189"></a><tt class="py-lineno">189</tt> <a class="py-toggle" href="#" id="ServerInterface.check_auth_publickey-toggle" onclick="return toggle('ServerInterface.check_auth_publickey');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_auth_publickey">check_auth_publickey</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_auth_publickey-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_auth_publickey-expanded"><a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a given key supplied by the client is acceptable for use</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> in authentication. You should override this method in server mode to</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> check the username and key and decide if you would accept a signature</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> made using this key.</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> Return L{AUTH_FAILED} if the key is not accepted,</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if the key is accepted and completes the</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> authentication, or L{AUTH_PARTIALLY_SUCCESSFUL} if your</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> authentication is stateful, and this password is accepted for</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> authentication, but more authentication is required. (In this latter</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> case, L{get_allowed_auths} will be called to report to the client what</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> options it has for continuing the authentication.)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"> Note that you don't have to actually verify any key signtature here.</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> If you're willing to accept the key, paramiko will do the work of</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> verifying the client's signature.</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns L{AUTH_FAILED}.</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username of the authenticating client</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> @param key: the key object provided by the client</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> @type key: L{PKey &lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> @return: L{AUTH_FAILED} if the client can't authenticate</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> with this key; L{AUTH_SUCCESSFUL} if it can;</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_PARTIALLY_SUCCESSFUL} if it can authenticate with</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"> this key but must continue with authentication</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-9" class="py-name"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-9', 'AUTH_FAILED', 'link-7');">AUTH_FAILED</a></tt> </tt>
-</div><a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_auth_interactive"></a><div id="ServerInterface.check_auth_interactive-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="ServerInterface.check_auth_interactive-toggle" onclick="return toggle('ServerInterface.check_auth_interactive');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_auth_interactive">check_auth_interactive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">submethods</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_auth_interactive-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_auth_interactive-expanded"><a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> Begin an interactive authentication challenge, if supported. You</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> should override this method in server mode if you want to support the</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> C{"keyboard-interactive"} auth type, which requires you to send a</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-docstring"> series of questions for the client to answer.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"> Return L{AUTH_FAILED} if this auth method isn't supported. Otherwise,</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-docstring"> you should return an L{InteractiveQuery} object containing the prompts</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> and instructions for the user. The response will be sent via a call</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> to L{check_auth_interactive_response}.</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns L{AUTH_FAILED}.</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username of the authenticating client</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> @param submethods: a comma-separated list of methods preferred by the</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"> client (usually empty)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"> @type submethods: str</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> @return: L{AUTH_FAILED} if this auth method isn't supported; otherwise</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"> an object containing queries for the user</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int or L{InteractiveQuery}</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-10" class="py-name"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-10', 'AUTH_FAILED', 'link-7');">AUTH_FAILED</a></tt> </tt>
-</div><a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_auth_interactive_response"></a><div id="ServerInterface.check_auth_interactive_response-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="ServerInterface.check_auth_interactive_response-toggle" onclick="return toggle('ServerInterface.check_auth_interactive_response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_auth_interactive_response">check_auth_interactive_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">responses</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_auth_interactive_response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_auth_interactive_response-expanded"><a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> Continue or finish an interactive authentication challenge, if</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> supported. You should override this method in server mode if you want</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> to support the C{"keyboard-interactive"} auth type.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> Return L{AUTH_FAILED} if the responses are not accepted,</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if the responses are accepted and complete</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> the authentication, or L{AUTH_PARTIALLY_SUCCESSFUL} if your</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> authentication is stateful, and this set of responses is accepted for</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-docstring"> authentication, but more authentication is required. (In this latter</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> case, L{get_allowed_auths} will be called to report to the client what</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"> options it has for continuing the authentication.)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> If you wish to continue interactive authentication with more questions,</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"> you may return an L{InteractiveQuery} object, which should cause the</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> client to respond with more answers, calling this method again. This</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> cycle can continue indefinitely.</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns L{AUTH_FAILED}.</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> @param responses: list of responses from the client</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> @type responses: list(str)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> @return: L{AUTH_FAILED} if the authentication fails;</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_SUCCESSFUL} if it succeeds;</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> L{AUTH_PARTIALLY_SUCCESSFUL} if the interactive auth is</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> successful, but authentication must continue; otherwise an object</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"> containing queries for the user</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int or L{InteractiveQuery}</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-11" class="py-name"><a title="paramiko.auth_handler.AUTH_FAILED
-paramiko.channel.AUTH_FAILED
-paramiko.client.AUTH_FAILED
-paramiko.common.AUTH_FAILED
-paramiko.dsskey.AUTH_FAILED
-paramiko.hostkeys.AUTH_FAILED
-paramiko.kex_gex.AUTH_FAILED
-paramiko.kex_group1.AUTH_FAILED
-paramiko.packet.AUTH_FAILED
-paramiko.pkey.AUTH_FAILED
-paramiko.rsakey.AUTH_FAILED
-paramiko.server.AUTH_FAILED
-paramiko.sftp.AUTH_FAILED
-paramiko.sftp_attr.AUTH_FAILED
-paramiko.sftp_client.AUTH_FAILED
-paramiko.sftp_file.AUTH_FAILED
-paramiko.sftp_handle.AUTH_FAILED
-paramiko.sftp_server.AUTH_FAILED
-paramiko.sftp_si.AUTH_FAILED
-paramiko.transport.AUTH_FAILED
-paramiko.util.AUTH_FAILED" class="py-name" href="#" onclick="return doclink('link-11', 'AUTH_FAILED', 'link-7');">AUTH_FAILED</a></tt> </tt>
-</div><a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_port_forward_request"></a><div id="ServerInterface.check_port_forward_request-def"><a name="L279"></a><tt class="py-lineno">279</tt> <a class="py-toggle" href="#" id="ServerInterface.check_port_forward_request-toggle" onclick="return toggle('ServerInterface.check_port_forward_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_port_forward_request">check_port_forward_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">address</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_port_forward_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_port_forward_request-expanded"><a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"><tt class="py-docstring"> Handle a request for port forwarding. The client is asking that</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-docstring"> connections to the given address and port be forwarded back across</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-docstring"> this ssh connection. An address of C{"0.0.0.0"} indicates a global</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"> address (any address associated with this server) and a port of C{0}</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"><tt class="py-docstring"> indicates that no specific port is requested (usually the OS will pick</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"><tt class="py-docstring"> a port).</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}, rejecting the</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-docstring"> port forwarding request. If the request is accepted, you should return</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"> the port opened for listening.</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> @param address: the requested address</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"> @type address: str</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> @param port: the requested port</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> @type port: int</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring"> @return: the port number that was opened for listening, or C{False} to</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring"> reject</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.cancel_port_forward_request"></a><div id="ServerInterface.cancel_port_forward_request-def"><a name="L302"></a><tt class="py-lineno">302</tt> <a class="py-toggle" href="#" id="ServerInterface.cancel_port_forward_request-toggle" onclick="return toggle('ServerInterface.cancel_port_forward_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#cancel_port_forward_request">cancel_port_forward_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">address</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.cancel_port_forward_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.cancel_port_forward_request-expanded"><a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"><tt class="py-docstring"> The client would like to cancel a previous port-forwarding request.</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"><tt class="py-docstring"> If the given address and port is being forwarded across this ssh</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-docstring"> connection, the port should be closed.</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"><tt class="py-docstring"> @param address: the forwarded address</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-docstring"> @type address: str</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"><tt class="py-docstring"> @param port: the forwarded port</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"><tt class="py-docstring"> @type port: int</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_global_request"></a><div id="ServerInterface.check_global_request-def"><a name="L315"></a><tt class="py-lineno">315</tt> <a class="py-toggle" href="#" id="ServerInterface.check_global_request-toggle" onclick="return toggle('ServerInterface.check_global_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_global_request">check_global_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">kind</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_global_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_global_request-expanded"><a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"><tt class="py-docstring"> Handle a global request of the given C{kind}. This method is called</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"><tt class="py-docstring"> in server mode and client mode, whenever the remote host makes a global</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"><tt class="py-docstring"> request. If there are any arguments to the request, they will be in</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"><tt class="py-docstring"> C{msg}.</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"><tt class="py-docstring"> There aren't any useful global requests defined, aside from port</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"><tt class="py-docstring"> forwarding, so usually this type of request is an extension to the</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"><tt class="py-docstring"> protocol.</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"><tt class="py-docstring"> If the request was successful and you would like to return contextual</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"><tt class="py-docstring"> data to the remote host, return a tuple. Items in the tuple will be</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"><tt class="py-docstring"> sent back with the successful result. (Note that the items in the</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"><tt class="py-docstring"> tuple can only be strings, ints, longs, or bools.)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}, indicating that it</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"><tt class="py-docstring"> does not support any global requests.</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"><tt class="py-docstring"> @note: Port forwarding requests are handled separately, in</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"><tt class="py-docstring"> L{check_port_forward_request}.</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-docstring"> @param kind: the kind of global request being made.</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"><tt class="py-docstring"> @type kind: str</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"><tt class="py-docstring"> @param msg: any extra arguments to the request.</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"><tt class="py-docstring"> @type msg: L{Message}</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} or a tuple of data if the request was granted;</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"><tt class="py-docstring"> C{False} otherwise.</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-comment">### Channel requests</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_pty_request"></a><div id="ServerInterface.check_channel_pty_request-def"><a name="L351"></a><tt class="py-lineno">351</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_pty_request-toggle" onclick="return toggle('ServerInterface.check_channel_pty_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_pty_request">check_channel_pty_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">term</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">,</tt> <tt class="py-param">pixelwidth</tt><tt class="py-op">,</tt> <tt class="py-param">pixelheight</tt><tt class="py-op">,</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-param">modes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_pty_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_pty_request-expanded"><a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a pseudo-terminal of the given dimensions (usually</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"><tt class="py-docstring"> requested for shell access) can be provided on the given channel.</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}.</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the L{Channel} the pty request arrived on.</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"><tt class="py-docstring"> @param term: type of terminal requested (for example, C{"vt100"}).</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"><tt class="py-docstring"> @type term: str</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"><tt class="py-docstring"> @param width: width of screen in characters.</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"><tt class="py-docstring"> @type width: int</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"><tt class="py-docstring"> @param height: height of screen in characters.</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"><tt class="py-docstring"> @type height: int</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"><tt class="py-docstring"> @param pixelwidth: width of screen in pixels, if known (may be C{0} if</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"><tt class="py-docstring"> unknown).</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"><tt class="py-docstring"> @type pixelwidth: int</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"><tt class="py-docstring"> @param pixelheight: height of screen in pixels, if known (may be C{0}</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"><tt class="py-docstring"> if unknown).</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"><tt class="py-docstring"> @type pixelheight: int</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if the psuedo-terminal has been allocated; C{False}</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"><tt class="py-docstring"> otherwise.</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_shell_request"></a><div id="ServerInterface.check_channel_shell_request-def"><a name="L379"></a><tt class="py-lineno">379</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_shell_request-toggle" onclick="return toggle('ServerInterface.check_channel_shell_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_shell_request">check_channel_shell_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_shell_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_shell_request-expanded"><a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a shell will be provided to the client on the given</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"><tt class="py-docstring"> channel. If this method returns C{True}, the channel should be</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"><tt class="py-docstring"> connected to the stdin/stdout of a shell (or something that acts like</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"><tt class="py-docstring"> a shell).</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}.</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the L{Channel} the request arrived on.</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if this channel is now hooked up to a shell; C{False}</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"><tt class="py-docstring"> if a shell can't or won't be provided.</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_exec_request"></a><div id="ServerInterface.check_channel_exec_request-def"><a name="L396"></a><tt class="py-lineno">396</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_exec_request-toggle" onclick="return toggle('ServerInterface.check_channel_exec_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_exec_request">check_channel_exec_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_exec_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_exec_request-expanded"><a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a shell command will be executed for the client. If this</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"><tt class="py-docstring"> method returns C{True}, the channel should be connected to the stdin,</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"><tt class="py-docstring"> stdout, and stderr of the shell command.</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}.</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the L{Channel} the request arrived on.</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"><tt class="py-docstring"> @param command: the command to execute.</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"><tt class="py-docstring"> @type command: str</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if this channel is now hooked up to the stdin,</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"><tt class="py-docstring"> stdout, and stderr of the executing command; C{False} if the</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"><tt class="py-docstring"> command will not be executed.</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_subsystem_request"></a><div id="ServerInterface.check_channel_subsystem_request-def"><a name="L417"></a><tt class="py-lineno">417</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_subsystem_request-toggle" onclick="return toggle('ServerInterface.check_channel_subsystem_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_subsystem_request">check_channel_subsystem_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_subsystem_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_subsystem_request-expanded"><a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a requested subsystem will be provided to the client on</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"><tt class="py-docstring"> the given channel. If this method returns C{True}, all future I/O</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"><tt class="py-docstring"> through this channel will be assumed to be connected to the requested</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"><tt class="py-docstring"> subsystem. An example of a subsystem is C{sftp}.</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation checks for a subsystem handler assigned via</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport.set_subsystem_handler}.</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"><tt class="py-docstring"> If one has been set, the handler is invoked and this method returns</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"><tt class="py-docstring"> C{True}. Otherwise it returns C{False}.</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"><tt class="py-docstring"> @note: Because the default implementation uses the L{Transport} to</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"><tt class="py-docstring"> identify valid subsystems, you probably won't need to override this</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"><tt class="py-docstring"> method.</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the L{Channel} the pty request arrived on.</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name of the requested subsystem.</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if this channel is now hooked up to the requested</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"><tt class="py-docstring"> subsystem; C{False} if that subsystem can't or won't be provided.</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-name">handler_class</tt><tt class="py-op">,</tt> <tt class="py-name">larg</tt><tt class="py-op">,</tt> <tt class="py-name">kwarg</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name" targets="Module paramiko.channel=paramiko.channel-module.html"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-12', 'channel', 'link-12');">channel</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.Channel.get_transport()=paramiko.Channel-class.html#get_transport,Method paramiko.SSHClient.get_transport()=paramiko.SSHClient-class.html#get_transport"><a title="paramiko.Channel.get_transport
-paramiko.SSHClient.get_transport" class="py-name" href="#" onclick="return doclink('link-13', 'get_transport', 'link-13');">get_transport</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">_get_subsystem_handler</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-4');">name</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handler_class</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt class="py-name">handler_class</tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-15', 'channel', 'link-12');">channel</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-16', 'name', 'link-4');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">larg</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwarg</tt><tt class="py-op">)</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_window_change_request"></a><div id="ServerInterface.check_channel_window_change_request-def"><a name="L448"></a><tt class="py-lineno">448</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_window_change_request-toggle" onclick="return toggle('ServerInterface.check_channel_window_change_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_window_change_request">check_channel_window_change_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">,</tt> <tt class="py-param">pixelwidth</tt><tt class="py-op">,</tt> <tt class="py-param">pixelheight</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_window_change_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_window_change_request-expanded"><a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"><tt class="py-docstring"> Determine if the pseudo-terminal on the given channel can be resized.</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"><tt class="py-docstring"> This only makes sense if a pty was previously allocated on it.</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}.</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the L{Channel} the pty request arrived on.</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"><tt class="py-docstring"> @param width: width of screen in characters.</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"><tt class="py-docstring"> @type width: int</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"><tt class="py-docstring"> @param height: height of screen in characters.</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"><tt class="py-docstring"> @type height: int</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"><tt class="py-docstring"> @param pixelwidth: width of screen in pixels, if known (may be C{0} if</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"><tt class="py-docstring"> unknown).</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"><tt class="py-docstring"> @type pixelwidth: int</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"><tt class="py-docstring"> @param pixelheight: height of screen in pixels, if known (may be C{0}</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"><tt class="py-docstring"> if unknown).</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"><tt class="py-docstring"> @type pixelheight: int</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if the terminal was resized; C{False} if not.</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_x11_request"></a><div id="ServerInterface.check_channel_x11_request-def"><a name="L472"></a><tt class="py-lineno">472</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_x11_request-toggle" onclick="return toggle('ServerInterface.check_channel_x11_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_x11_request">check_channel_x11_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">single_connection</tt><tt class="py-op">,</tt> <tt class="py-param">auth_protocol</tt><tt class="py-op">,</tt> <tt class="py-param">auth_cookie</tt><tt class="py-op">,</tt> <tt class="py-param">screen_number</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_x11_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_x11_request-expanded"><a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"><tt class="py-docstring"> Determine if the client will be provided with an X11 session. If this</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"><tt class="py-docstring"> method returns C{True}, X11 applications should be routed through new</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"><tt class="py-docstring"> SSH channels, using L{Transport.open_x11_channel}.</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns C{False}.</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the L{Channel} the X11 request arrived on</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"><tt class="py-docstring"> @param single_connection: C{True} if only a single X11 channel should</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"><tt class="py-docstring"> be opened</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"><tt class="py-docstring"> @type single_connection: bool</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"><tt class="py-docstring"> @param auth_protocol: the protocol used for X11 authentication</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"><tt class="py-docstring"> @type auth_protocol: str</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"><tt class="py-docstring"> @param auth_cookie: the cookie used to authenticate to X11</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"><tt class="py-docstring"> @type auth_cookie: str</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"><tt class="py-docstring"> @param screen_number: the number of the X11 screen to connect to</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"><tt class="py-docstring"> @type screen_number: int</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if the X11 session was opened; C{False} if not</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> </tt>
-<a name="ServerInterface.check_channel_direct_tcpip_request"></a><div id="ServerInterface.check_channel_direct_tcpip_request-def"><a name="L496"></a><tt class="py-lineno">496</tt> <a class="py-toggle" href="#" id="ServerInterface.check_channel_direct_tcpip_request-toggle" onclick="return toggle('ServerInterface.check_channel_direct_tcpip_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.ServerInterface-class.html#check_channel_direct_tcpip_request">check_channel_direct_tcpip_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">,</tt> <tt class="py-param">origin</tt><tt class="py-op">,</tt> <tt class="py-param">destination</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ServerInterface.check_channel_direct_tcpip_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ServerInterface.check_channel_direct_tcpip_request-expanded"><a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"><tt class="py-docstring"> Determine if a local port forwarding channel will be granted, and</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"><tt class="py-docstring"> return C{OPEN_SUCCEEDED} or an error code. This method is</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt> <tt class="py-line"><tt class="py-docstring"> called in server mode when the client requests a channel, after</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"><tt class="py-docstring"> authentication is complete.</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"><tt class="py-docstring"> The C{chanid} parameter is a small number that uniquely identifies the</tt> </tt>
-<a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"><tt class="py-docstring"> channel within a L{Transport}. A L{Channel} object is not created</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt> <tt class="py-line"><tt class="py-docstring"> unless this method returns C{OPEN_SUCCEEDED} -- once a</tt> </tt>
-<a name="L506"></a><tt class="py-lineno">506</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel} object is created, you can call L{Channel.get_id} to</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"><tt class="py-docstring"> retrieve the channel ID.</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"><tt class="py-docstring"> The origin and destination parameters are (ip_address, port) tuples</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"><tt class="py-docstring"> that correspond to both ends of the TCP connection in the forwarding</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"><tt class="py-docstring"> tunnel.</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"><tt class="py-docstring"> The return value should either be C{OPEN_SUCCEEDED} (or</tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt> <tt class="py-line"><tt class="py-docstring"> C{0}) to allow the channel request, or one of the following error</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"><tt class="py-docstring"> codes to reject it:</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED}</tt> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_CONNECT_FAILED}</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_UNKNOWN_CHANNEL_TYPE}</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt> <tt class="py-line"><tt class="py-docstring"> - C{OPEN_FAILED_RESOURCE_SHORTAGE}</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation always returns</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt> <tt class="py-line"><tt class="py-docstring"> C{OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED}.</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt> <tt class="py-line"><tt class="py-docstring"> @param chanid: ID of the channel</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt> <tt class="py-line"><tt class="py-docstring"> @type chanid: int</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt> <tt class="py-line"><tt class="py-docstring"> @param origin: 2-tuple containing the IP address and port of the</tt> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt> <tt class="py-line"><tt class="py-docstring"> originator (client side)</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt> <tt class="py-line"><tt class="py-docstring"> @type origin: tuple</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt> <tt class="py-line"><tt class="py-docstring"> @param destination: 2-tuple containing the IP address and port of the</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt> <tt class="py-line"><tt class="py-docstring"> destination (server side)</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt> <tt class="py-line"><tt class="py-docstring"> @type destination: tuple</tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt> <tt class="py-line"><tt class="py-docstring"> @return: a success or failure code (listed above)</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-17" class="py-name"><a title="paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED" class="py-name" href="#" onclick="return doclink('link-17', 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED', 'link-6');">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a></tt> </tt>
-</div></div><a name="L536"></a><tt class="py-lineno">536</tt> <tt class="py-line"> </tt>
-<a name="L537"></a><tt class="py-lineno">537</tt> <tt class="py-line"> </tt>
-<a name="SubsystemHandler"></a><div id="SubsystemHandler-def"><a name="L538"></a><tt class="py-lineno">538</tt> <a class="py-toggle" href="#" id="SubsystemHandler-toggle" onclick="return toggle('SubsystemHandler');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.server.SubsystemHandler-class.html">SubsystemHandler</a> <tt class="py-op">(</tt><tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SubsystemHandler-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SubsystemHandler-expanded"><a name="L539"></a><tt class="py-lineno">539</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt> <tt class="py-line"><tt class="py-docstring"> Handler for a subsytem in server mode. If you create a subclass of this</tt> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt> <tt class="py-line"><tt class="py-docstring"> class and pass it to</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport.set_subsystem_handler},</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt> <tt class="py-line"><tt class="py-docstring"> an object of this</tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt> <tt class="py-line"><tt class="py-docstring"> class will be created for each request for this subsystem. Each new object</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt> <tt class="py-line"><tt class="py-docstring"> will be executed within its own new thread by calling L{start_subsystem}.</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt> <tt class="py-line"><tt class="py-docstring"> When that method completes, the channel is closed.</tt> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt> <tt class="py-line"><tt class="py-docstring"> For example, if you made a subclass C{MP3Handler} and registered it as the</tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt> <tt class="py-line"><tt class="py-docstring"> handler for subsystem C{"mp3"}, then whenever a client has successfully</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt> <tt class="py-line"><tt class="py-docstring"> authenticated and requests subsytem C{"mp3"}, an object of class</tt> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt> <tt class="py-line"><tt class="py-docstring"> C{MP3Handler} will be created, and L{start_subsystem} will be called on</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt> <tt class="py-line"><tt class="py-docstring"> it from a new thread.</tt> </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="SubsystemHandler.__init__"></a><div id="SubsystemHandler.__init__-def"><a name="L554"></a><tt class="py-lineno">554</tt> <a class="py-toggle" href="#" id="SubsystemHandler.__init__-toggle" onclick="return toggle('SubsystemHandler.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.SubsystemHandler-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">server</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SubsystemHandler.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubsystemHandler.__init__-expanded"><a name="L555"></a><tt class="py-lineno">555</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt> <tt class="py-line"><tt class="py-docstring"> Create a new handler for a channel. This is used by L{ServerInterface}</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt> <tt class="py-line"><tt class="py-docstring"> to start up a new handler when a channel requests this subsystem. You</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt> <tt class="py-line"><tt class="py-docstring"> don't need to override this method, but if you do, be sure to pass the</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt> <tt class="py-line"><tt class="py-docstring"> C{channel} and C{name} parameters through to the original C{__init__}</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt> <tt class="py-line"><tt class="py-docstring"> method here.</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the channel associated with this subsystem request.</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name of the requested subsystem.</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt> <tt class="py-line"><tt class="py-docstring"> @param server: the server object for the session that started this</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt> <tt class="py-line"><tt class="py-docstring"> subsystem</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt> <tt class="py-line"><tt class="py-docstring"> @type server: L{ServerInterface}</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt> <tt class="py-line"> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-18', '__init__', 'link-18');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_run</tt><tt class="py-op">)</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__channel</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-19', 'channel', 'link-12');">channel</a></tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__transport</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-20', 'channel', 'link-12');">channel</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="paramiko.Channel.get_transport
-paramiko.SSHClient.get_transport" class="py-name" href="#" onclick="return doclink('link-21', 'get_transport', 'link-13');">get_transport</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-22', 'name', 'link-4');">name</a></tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__server</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name" targets="Module paramiko.server=paramiko.server-module.html"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-23', 'server', 'link-23');">server</a></tt> </tt>
-</div><a name="L575"></a><tt class="py-lineno">575</tt> <tt class="py-line"> </tt>
-<a name="SubsystemHandler.get_server"></a><div id="SubsystemHandler.get_server-def"><a name="L576"></a><tt class="py-lineno">576</tt> <a class="py-toggle" href="#" id="SubsystemHandler.get_server-toggle" onclick="return toggle('SubsystemHandler.get_server');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.SubsystemHandler-class.html#get_server">get_server</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SubsystemHandler.get_server-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubsystemHandler.get_server-expanded"><a name="L577"></a><tt class="py-lineno">577</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt> <tt class="py-line"><tt class="py-docstring"> Return the L{ServerInterface} object associated with this channel and</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt> <tt class="py-line"><tt class="py-docstring"> subsystem.</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{ServerInterface}</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__server</tt> </tt>
-</div><a name="L584"></a><tt class="py-lineno">584</tt> <tt class="py-line"> </tt>
-<a name="SubsystemHandler._run"></a><div id="SubsystemHandler._run-def"><a name="L585"></a><tt class="py-lineno">585</tt> <a class="py-toggle" href="#" id="SubsystemHandler._run-toggle" onclick="return toggle('SubsystemHandler._run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.SubsystemHandler-class.html#_run">_run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SubsystemHandler._run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubsystemHandler._run-expanded"><a name="L586"></a><tt class="py-lineno">586</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__transport</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-24" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-24', 'DEBUG', 'link-24');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Starting handler for subsystem %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt><tt class="py-op">)</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method paramiko.SFTPServer.start_subsystem()=paramiko.SFTPServer-class.html#start_subsystem,Method paramiko.SubsystemHandler.start_subsystem()=paramiko.SubsystemHandler-class.html#start_subsystem"><a title="paramiko.SFTPServer.start_subsystem
-paramiko.SubsystemHandler.start_subsystem" class="py-name" href="#" onclick="return doclink('link-25', 'start_subsystem', 'link-25');">start_subsystem</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__transport</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__channel</tt><tt class="py-op">)</tt> </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__transport</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name" targets="Variable paramiko.auth_handler.ERROR=paramiko.auth_handler-module.html#ERROR,Variable paramiko.channel.ERROR=paramiko.channel-module.html#ERROR,Variable paramiko.client.ERROR=paramiko.client-module.html#ERROR,Variable paramiko.common.ERROR=paramiko.common-module.html#ERROR,Variable paramiko.dsskey.ERROR=paramiko.dsskey-module.html#ERROR,Variable paramiko.hostkeys.ERROR=paramiko.hostkeys-module.html#ERROR,Variable paramiko.kex_gex.ERROR=paramiko.kex_gex-module.html#ERROR,Variable paramiko.kex_group1.ERROR=paramiko.kex_group1-module.html#ERROR,Variable paramiko.logging22.ERROR=paramiko.logging22-module.html#ERROR,Variable paramiko.packet.ERROR=paramiko.packet-module.html#ERROR,Variable paramiko.pkey.ERROR=paramiko.pkey-module.html#ERROR,Variable paramiko.rsakey.ERROR=paramiko.rsakey-module.html#ERROR,Variable paramiko.server.ERROR=paramiko.server-module.html#ERROR,Variable paramiko.sftp.ERROR=paramiko.sftp-module.html#ERROR,Variable paramiko.sftp_attr.ERROR=paramiko.sftp_attr-module.html#ERROR,Variable paramiko.sftp_client.ERROR=paramiko.sftp_client-module.html#ERROR,Variable paramiko.sftp_file.ERROR=paramiko.sftp_file-module.html#ERROR,Variable paramiko.sftp_handle.ERROR=paramiko.sftp_handle-module.html#ERROR,Variable paramiko.sftp_server.ERROR=paramiko.sftp_server-module.html#ERROR,Variable paramiko.sftp_si.ERROR=paramiko.sftp_si-module.html#ERROR,Variable paramiko.transport.ERROR=paramiko.transport-module.html#ERROR,Variable paramiko.util.ERROR=paramiko.util-module.html#ERROR"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-26', 'ERROR', 'link-26');">ERROR</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Exception in subsystem handler for "%s": %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__transport</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-27', 'ERROR', 'link-26');">ERROR</a></tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-28', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Function paramiko.util.tb_strings()=paramiko.util-module.html#tb_strings"><a title="paramiko.util.tb_strings" class="py-name" href="#" onclick="return doclink('link-29', 'tb_strings', 'link-29');">tb_strings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method paramiko.SFTPServer.finish_subsystem()=paramiko.SFTPServer-class.html#finish_subsystem,Method paramiko.SubsystemHandler.finish_subsystem()=paramiko.SubsystemHandler-class.html#finish_subsystem"><a title="paramiko.SFTPServer.finish_subsystem
-paramiko.SubsystemHandler.finish_subsystem" class="py-name" href="#" onclick="return doclink('link-30', 'finish_subsystem', 'link-30');">finish_subsystem</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L597"></a><tt class="py-lineno">597</tt> <tt class="py-line"> </tt>
-<a name="SubsystemHandler.start_subsystem"></a><div id="SubsystemHandler.start_subsystem-def"><a name="L598"></a><tt class="py-lineno">598</tt> <a class="py-toggle" href="#" id="SubsystemHandler.start_subsystem-toggle" onclick="return toggle('SubsystemHandler.start_subsystem');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.SubsystemHandler-class.html#start_subsystem">start_subsystem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SubsystemHandler.start_subsystem-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubsystemHandler.start_subsystem-expanded"><a name="L599"></a><tt class="py-lineno">599</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt> <tt class="py-line"><tt class="py-docstring"> Process an ssh subsystem in server mode. This method is called on a</tt> </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt> <tt class="py-line"><tt class="py-docstring"> new object (and in a new thread) for each subsystem request. It is</tt> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt> <tt class="py-line"><tt class="py-docstring"> assumed that all subsystem logic will take place here, and when the</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt> <tt class="py-line"><tt class="py-docstring"> subsystem is finished, this method will return. After this method</tt> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt> <tt class="py-line"><tt class="py-docstring"> returns, the channel is closed.</tt> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L606"></a><tt class="py-lineno">606</tt> <tt class="py-line"><tt class="py-docstring"> The combination of C{transport} and C{channel} are unique; this handler</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt> <tt class="py-line"><tt class="py-docstring"> corresponds to exactly one L{Channel} on one L{Transport}.</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt> <tt class="py-line"><tt class="py-docstring"> @note: It is the responsibility of this method to exit if the</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt> <tt class="py-line"><tt class="py-docstring"> underlying L{Transport} is closed. This can be done by checking</tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport.is_active} or noticing an EOF</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt> <tt class="py-line"><tt class="py-docstring"> on the L{Channel}. If this method loops forever without checking</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt> <tt class="py-line"><tt class="py-docstring"> for this case, your python interpreter may refuse to exit because</tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt> <tt class="py-line"><tt class="py-docstring"> this thread will still be running.</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name of the requested subsystem.</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt> <tt class="py-line"><tt class="py-docstring"> @param transport: the server-mode L{Transport}.</tt> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt> <tt class="py-line"><tt class="py-docstring"> @type transport: L{Transport}</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: the channel associated with this subsystem request.</tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L624"></a><tt class="py-lineno">624</tt> <tt class="py-line"> </tt>
-<a name="SubsystemHandler.finish_subsystem"></a><div id="SubsystemHandler.finish_subsystem-def"><a name="L625"></a><tt class="py-lineno">625</tt> <a class="py-toggle" href="#" id="SubsystemHandler.finish_subsystem-toggle" onclick="return toggle('SubsystemHandler.finish_subsystem');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.server.SubsystemHandler-class.html#finish_subsystem">finish_subsystem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SubsystemHandler.finish_subsystem-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubsystemHandler.finish_subsystem-expanded"><a name="L626"></a><tt class="py-lineno">626</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt> <tt class="py-line"><tt class="py-docstring"> Perform any cleanup at the end of a subsystem. The default</tt> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt> <tt class="py-line"><tt class="py-docstring"> implementation just closes the channel.</tt> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__channel</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-31', 'close', 'link-31');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L633"></a><tt class="py-lineno">633</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp-module.html b/docs/paramiko.sftp-module.html
deleted file mode 100644
index 98d25d5..0000000
--- a/docs/paramiko.sftp-module.html
+++ /dev/null
@@ -1,905 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp-pysrc.html b/docs/paramiko.sftp-pysrc.html
deleted file mode 100644
index c01fb55..0000000
--- a/docs/paramiko.sftp-pysrc.html
+++ /dev/null
@@ -1,798 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp-module.html" onclick="show_private();">Module paramiko.sftp</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">select</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-3');">util</a></tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.channel=paramiko.channel-module.html"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-5', 'channel', 'link-5');">channel</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Channel=paramiko.Channel-class.html"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-6', 'Channel', 'link-6');">Channel</a></tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-8', 'message', 'link-8');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-9', 'Message', 'link-9');">Message</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable paramiko.sftp.CMD_INIT=paramiko.sftp-module.html#CMD_INIT,Variable paramiko.sftp_attr.CMD_INIT=paramiko.sftp_attr-module.html#CMD_INIT,Variable paramiko.sftp_client.CMD_INIT=paramiko.sftp_client-module.html#CMD_INIT,Variable paramiko.sftp_file.CMD_INIT=paramiko.sftp_file-module.html#CMD_INIT,Variable paramiko.sftp_handle.CMD_INIT=paramiko.sftp_handle-module.html#CMD_INIT,Variable paramiko.sftp_server.CMD_INIT=paramiko.sftp_server-module.html#CMD_INIT,Variable paramiko.sftp_si.CMD_INIT=paramiko.sftp_si-module.html#CMD_INIT"><a title="paramiko.sftp.CMD_INIT
-paramiko.sftp_attr.CMD_INIT
-paramiko.sftp_client.CMD_INIT
-paramiko.sftp_file.CMD_INIT
-paramiko.sftp_handle.CMD_INIT
-paramiko.sftp_server.CMD_INIT
-paramiko.sftp_si.CMD_INIT" class="py-name" href="#" onclick="return doclink('link-10', 'CMD_INIT', 'link-10');">CMD_INIT</a></tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Variable paramiko.sftp.CMD_VERSION=paramiko.sftp-module.html#CMD_VERSION,Variable paramiko.sftp_attr.CMD_VERSION=paramiko.sftp_attr-module.html#CMD_VERSION,Variable paramiko.sftp_client.CMD_VERSION=paramiko.sftp_client-module.html#CMD_VERSION,Variable paramiko.sftp_file.CMD_VERSION=paramiko.sftp_file-module.html#CMD_VERSION,Variable paramiko.sftp_handle.CMD_VERSION=paramiko.sftp_handle-module.html#CMD_VERSION,Variable paramiko.sftp_server.CMD_VERSION=paramiko.sftp_server-module.html#CMD_VERSION,Variable paramiko.sftp_si.CMD_VERSION=paramiko.sftp_si-module.html#CMD_VERSION"><a title="paramiko.sftp.CMD_VERSION
-paramiko.sftp_attr.CMD_VERSION
-paramiko.sftp_client.CMD_VERSION
-paramiko.sftp_file.CMD_VERSION
-paramiko.sftp_handle.CMD_VERSION
-paramiko.sftp_server.CMD_VERSION
-paramiko.sftp_si.CMD_VERSION" class="py-name" href="#" onclick="return doclink('link-11', 'CMD_VERSION', 'link-11');">CMD_VERSION</a></tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Variable paramiko.sftp.CMD_OPEN=paramiko.sftp-module.html#CMD_OPEN,Variable paramiko.sftp_attr.CMD_OPEN=paramiko.sftp_attr-module.html#CMD_OPEN,Variable paramiko.sftp_client.CMD_OPEN=paramiko.sftp_client-module.html#CMD_OPEN,Variable paramiko.sftp_file.CMD_OPEN=paramiko.sftp_file-module.html#CMD_OPEN,Variable paramiko.sftp_handle.CMD_OPEN=paramiko.sftp_handle-module.html#CMD_OPEN,Variable paramiko.sftp_server.CMD_OPEN=paramiko.sftp_server-module.html#CMD_OPEN,Variable paramiko.sftp_si.CMD_OPEN=paramiko.sftp_si-module.html#CMD_OPEN"><a title="paramiko.sftp.CMD_OPEN
-paramiko.sftp_attr.CMD_OPEN
-paramiko.sftp_client.CMD_OPEN
-paramiko.sftp_file.CMD_OPEN
-paramiko.sftp_handle.CMD_OPEN
-paramiko.sftp_server.CMD_OPEN
-paramiko.sftp_si.CMD_OPEN" class="py-name" href="#" onclick="return doclink('link-12', 'CMD_OPEN', 'link-12');">CMD_OPEN</a></tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name" targets="Variable paramiko.sftp.CMD_CLOSE=paramiko.sftp-module.html#CMD_CLOSE,Variable paramiko.sftp_attr.CMD_CLOSE=paramiko.sftp_attr-module.html#CMD_CLOSE,Variable paramiko.sftp_client.CMD_CLOSE=paramiko.sftp_client-module.html#CMD_CLOSE,Variable paramiko.sftp_file.CMD_CLOSE=paramiko.sftp_file-module.html#CMD_CLOSE,Variable paramiko.sftp_handle.CMD_CLOSE=paramiko.sftp_handle-module.html#CMD_CLOSE,Variable paramiko.sftp_server.CMD_CLOSE=paramiko.sftp_server-module.html#CMD_CLOSE,Variable paramiko.sftp_si.CMD_CLOSE=paramiko.sftp_si-module.html#CMD_CLOSE"><a title="paramiko.sftp.CMD_CLOSE
-paramiko.sftp_attr.CMD_CLOSE
-paramiko.sftp_client.CMD_CLOSE
-paramiko.sftp_file.CMD_CLOSE
-paramiko.sftp_handle.CMD_CLOSE
-paramiko.sftp_server.CMD_CLOSE
-paramiko.sftp_si.CMD_CLOSE" class="py-name" href="#" onclick="return doclink('link-13', 'CMD_CLOSE', 'link-13');">CMD_CLOSE</a></tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name" targets="Variable paramiko.sftp.CMD_READ=paramiko.sftp-module.html#CMD_READ,Variable paramiko.sftp_attr.CMD_READ=paramiko.sftp_attr-module.html#CMD_READ,Variable paramiko.sftp_client.CMD_READ=paramiko.sftp_client-module.html#CMD_READ,Variable paramiko.sftp_file.CMD_READ=paramiko.sftp_file-module.html#CMD_READ,Variable paramiko.sftp_handle.CMD_READ=paramiko.sftp_handle-module.html#CMD_READ,Variable paramiko.sftp_server.CMD_READ=paramiko.sftp_server-module.html#CMD_READ,Variable paramiko.sftp_si.CMD_READ=paramiko.sftp_si-module.html#CMD_READ"><a title="paramiko.sftp.CMD_READ
-paramiko.sftp_attr.CMD_READ
-paramiko.sftp_client.CMD_READ
-paramiko.sftp_file.CMD_READ
-paramiko.sftp_handle.CMD_READ
-paramiko.sftp_server.CMD_READ
-paramiko.sftp_si.CMD_READ" class="py-name" href="#" onclick="return doclink('link-14', 'CMD_READ', 'link-14');">CMD_READ</a></tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Variable paramiko.sftp.CMD_WRITE=paramiko.sftp-module.html#CMD_WRITE,Variable paramiko.sftp_attr.CMD_WRITE=paramiko.sftp_attr-module.html#CMD_WRITE,Variable paramiko.sftp_client.CMD_WRITE=paramiko.sftp_client-module.html#CMD_WRITE,Variable paramiko.sftp_file.CMD_WRITE=paramiko.sftp_file-module.html#CMD_WRITE,Variable paramiko.sftp_handle.CMD_WRITE=paramiko.sftp_handle-module.html#CMD_WRITE,Variable paramiko.sftp_server.CMD_WRITE=paramiko.sftp_server-module.html#CMD_WRITE,Variable paramiko.sftp_si.CMD_WRITE=paramiko.sftp_si-module.html#CMD_WRITE"><a title="paramiko.sftp.CMD_WRITE
-paramiko.sftp_attr.CMD_WRITE
-paramiko.sftp_client.CMD_WRITE
-paramiko.sftp_file.CMD_WRITE
-paramiko.sftp_handle.CMD_WRITE
-paramiko.sftp_server.CMD_WRITE
-paramiko.sftp_si.CMD_WRITE" class="py-name" href="#" onclick="return doclink('link-15', 'CMD_WRITE', 'link-15');">CMD_WRITE</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name" targets="Variable paramiko.sftp.CMD_LSTAT=paramiko.sftp-module.html#CMD_LSTAT,Variable paramiko.sftp_attr.CMD_LSTAT=paramiko.sftp_attr-module.html#CMD_LSTAT,Variable paramiko.sftp_client.CMD_LSTAT=paramiko.sftp_client-module.html#CMD_LSTAT,Variable paramiko.sftp_file.CMD_LSTAT=paramiko.sftp_file-module.html#CMD_LSTAT,Variable paramiko.sftp_handle.CMD_LSTAT=paramiko.sftp_handle-module.html#CMD_LSTAT,Variable paramiko.sftp_server.CMD_LSTAT=paramiko.sftp_server-module.html#CMD_LSTAT,Variable paramiko.sftp_si.CMD_LSTAT=paramiko.sftp_si-module.html#CMD_LSTAT"><a title="paramiko.sftp.CMD_LSTAT
-paramiko.sftp_attr.CMD_LSTAT
-paramiko.sftp_client.CMD_LSTAT
-paramiko.sftp_file.CMD_LSTAT
-paramiko.sftp_handle.CMD_LSTAT
-paramiko.sftp_server.CMD_LSTAT
-paramiko.sftp_si.CMD_LSTAT" class="py-name" href="#" onclick="return doclink('link-16', 'CMD_LSTAT', 'link-16');">CMD_LSTAT</a></tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name" targets="Variable paramiko.sftp.CMD_FSTAT=paramiko.sftp-module.html#CMD_FSTAT,Variable paramiko.sftp_attr.CMD_FSTAT=paramiko.sftp_attr-module.html#CMD_FSTAT,Variable paramiko.sftp_client.CMD_FSTAT=paramiko.sftp_client-module.html#CMD_FSTAT,Variable paramiko.sftp_file.CMD_FSTAT=paramiko.sftp_file-module.html#CMD_FSTAT,Variable paramiko.sftp_handle.CMD_FSTAT=paramiko.sftp_handle-module.html#CMD_FSTAT,Variable paramiko.sftp_server.CMD_FSTAT=paramiko.sftp_server-module.html#CMD_FSTAT,Variable paramiko.sftp_si.CMD_FSTAT=paramiko.sftp_si-module.html#CMD_FSTAT"><a title="paramiko.sftp.CMD_FSTAT
-paramiko.sftp_attr.CMD_FSTAT
-paramiko.sftp_client.CMD_FSTAT
-paramiko.sftp_file.CMD_FSTAT
-paramiko.sftp_handle.CMD_FSTAT
-paramiko.sftp_server.CMD_FSTAT
-paramiko.sftp_si.CMD_FSTAT" class="py-name" href="#" onclick="return doclink('link-17', 'CMD_FSTAT', 'link-17');">CMD_FSTAT</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt id="link-18" class="py-name" targets="Variable paramiko.sftp.CMD_SETSTAT=paramiko.sftp-module.html#CMD_SETSTAT,Variable paramiko.sftp_attr.CMD_SETSTAT=paramiko.sftp_attr-module.html#CMD_SETSTAT,Variable paramiko.sftp_client.CMD_SETSTAT=paramiko.sftp_client-module.html#CMD_SETSTAT,Variable paramiko.sftp_file.CMD_SETSTAT=paramiko.sftp_file-module.html#CMD_SETSTAT,Variable paramiko.sftp_handle.CMD_SETSTAT=paramiko.sftp_handle-module.html#CMD_SETSTAT,Variable paramiko.sftp_server.CMD_SETSTAT=paramiko.sftp_server-module.html#CMD_SETSTAT,Variable paramiko.sftp_si.CMD_SETSTAT=paramiko.sftp_si-module.html#CMD_SETSTAT"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-18', 'CMD_SETSTAT', 'link-18');">CMD_SETSTAT</a></tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name" targets="Variable paramiko.sftp.CMD_FSETSTAT=paramiko.sftp-module.html#CMD_FSETSTAT,Variable paramiko.sftp_attr.CMD_FSETSTAT=paramiko.sftp_attr-module.html#CMD_FSETSTAT,Variable paramiko.sftp_client.CMD_FSETSTAT=paramiko.sftp_client-module.html#CMD_FSETSTAT,Variable paramiko.sftp_file.CMD_FSETSTAT=paramiko.sftp_file-module.html#CMD_FSETSTAT,Variable paramiko.sftp_handle.CMD_FSETSTAT=paramiko.sftp_handle-module.html#CMD_FSETSTAT,Variable paramiko.sftp_server.CMD_FSETSTAT=paramiko.sftp_server-module.html#CMD_FSETSTAT,Variable paramiko.sftp_si.CMD_FSETSTAT=paramiko.sftp_si-module.html#CMD_FSETSTAT"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-19', 'CMD_FSETSTAT', 'link-19');">CMD_FSETSTAT</a></tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Variable paramiko.sftp.CMD_OPENDIR=paramiko.sftp-module.html#CMD_OPENDIR,Variable paramiko.sftp_attr.CMD_OPENDIR=paramiko.sftp_attr-module.html#CMD_OPENDIR,Variable paramiko.sftp_client.CMD_OPENDIR=paramiko.sftp_client-module.html#CMD_OPENDIR,Variable paramiko.sftp_file.CMD_OPENDIR=paramiko.sftp_file-module.html#CMD_OPENDIR,Variable paramiko.sftp_handle.CMD_OPENDIR=paramiko.sftp_handle-module.html#CMD_OPENDIR,Variable paramiko.sftp_server.CMD_OPENDIR=paramiko.sftp_server-module.html#CMD_OPENDIR,Variable paramiko.sftp_si.CMD_OPENDIR=paramiko.sftp_si-module.html#CMD_OPENDIR"><a title="paramiko.sftp.CMD_OPENDIR
-paramiko.sftp_attr.CMD_OPENDIR
-paramiko.sftp_client.CMD_OPENDIR
-paramiko.sftp_file.CMD_OPENDIR
-paramiko.sftp_handle.CMD_OPENDIR
-paramiko.sftp_server.CMD_OPENDIR
-paramiko.sftp_si.CMD_OPENDIR" class="py-name" href="#" onclick="return doclink('link-20', 'CMD_OPENDIR', 'link-20');">CMD_OPENDIR</a></tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name" targets="Variable paramiko.sftp.CMD_READDIR=paramiko.sftp-module.html#CMD_READDIR,Variable paramiko.sftp_attr.CMD_READDIR=paramiko.sftp_attr-module.html#CMD_READDIR,Variable paramiko.sftp_client.CMD_READDIR=paramiko.sftp_client-module.html#CMD_READDIR,Variable paramiko.sftp_file.CMD_READDIR=paramiko.sftp_file-module.html#CMD_READDIR,Variable paramiko.sftp_handle.CMD_READDIR=paramiko.sftp_handle-module.html#CMD_READDIR,Variable paramiko.sftp_server.CMD_READDIR=paramiko.sftp_server-module.html#CMD_READDIR,Variable paramiko.sftp_si.CMD_READDIR=paramiko.sftp_si-module.html#CMD_READDIR"><a title="paramiko.sftp.CMD_READDIR
-paramiko.sftp_attr.CMD_READDIR
-paramiko.sftp_client.CMD_READDIR
-paramiko.sftp_file.CMD_READDIR
-paramiko.sftp_handle.CMD_READDIR
-paramiko.sftp_server.CMD_READDIR
-paramiko.sftp_si.CMD_READDIR" class="py-name" href="#" onclick="return doclink('link-21', 'CMD_READDIR', 'link-21');">CMD_READDIR</a></tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name" targets="Variable paramiko.sftp.CMD_REMOVE=paramiko.sftp-module.html#CMD_REMOVE,Variable paramiko.sftp_attr.CMD_REMOVE=paramiko.sftp_attr-module.html#CMD_REMOVE,Variable paramiko.sftp_client.CMD_REMOVE=paramiko.sftp_client-module.html#CMD_REMOVE,Variable paramiko.sftp_file.CMD_REMOVE=paramiko.sftp_file-module.html#CMD_REMOVE,Variable paramiko.sftp_handle.CMD_REMOVE=paramiko.sftp_handle-module.html#CMD_REMOVE,Variable paramiko.sftp_server.CMD_REMOVE=paramiko.sftp_server-module.html#CMD_REMOVE,Variable paramiko.sftp_si.CMD_REMOVE=paramiko.sftp_si-module.html#CMD_REMOVE"><a title="paramiko.sftp.CMD_REMOVE
-paramiko.sftp_attr.CMD_REMOVE
-paramiko.sftp_client.CMD_REMOVE
-paramiko.sftp_file.CMD_REMOVE
-paramiko.sftp_handle.CMD_REMOVE
-paramiko.sftp_server.CMD_REMOVE
-paramiko.sftp_si.CMD_REMOVE" class="py-name" href="#" onclick="return doclink('link-22', 'CMD_REMOVE', 'link-22');">CMD_REMOVE</a></tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name" targets="Variable paramiko.sftp.CMD_MKDIR=paramiko.sftp-module.html#CMD_MKDIR,Variable paramiko.sftp_attr.CMD_MKDIR=paramiko.sftp_attr-module.html#CMD_MKDIR,Variable paramiko.sftp_client.CMD_MKDIR=paramiko.sftp_client-module.html#CMD_MKDIR,Variable paramiko.sftp_file.CMD_MKDIR=paramiko.sftp_file-module.html#CMD_MKDIR,Variable paramiko.sftp_handle.CMD_MKDIR=paramiko.sftp_handle-module.html#CMD_MKDIR,Variable paramiko.sftp_server.CMD_MKDIR=paramiko.sftp_server-module.html#CMD_MKDIR,Variable paramiko.sftp_si.CMD_MKDIR=paramiko.sftp_si-module.html#CMD_MKDIR"><a title="paramiko.sftp.CMD_MKDIR
-paramiko.sftp_attr.CMD_MKDIR
-paramiko.sftp_client.CMD_MKDIR
-paramiko.sftp_file.CMD_MKDIR
-paramiko.sftp_handle.CMD_MKDIR
-paramiko.sftp_server.CMD_MKDIR
-paramiko.sftp_si.CMD_MKDIR" class="py-name" href="#" onclick="return doclink('link-23', 'CMD_MKDIR', 'link-23');">CMD_MKDIR</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt id="link-24" class="py-name" targets="Variable paramiko.sftp.CMD_RMDIR=paramiko.sftp-module.html#CMD_RMDIR,Variable paramiko.sftp_attr.CMD_RMDIR=paramiko.sftp_attr-module.html#CMD_RMDIR,Variable paramiko.sftp_client.CMD_RMDIR=paramiko.sftp_client-module.html#CMD_RMDIR,Variable paramiko.sftp_file.CMD_RMDIR=paramiko.sftp_file-module.html#CMD_RMDIR,Variable paramiko.sftp_handle.CMD_RMDIR=paramiko.sftp_handle-module.html#CMD_RMDIR,Variable paramiko.sftp_server.CMD_RMDIR=paramiko.sftp_server-module.html#CMD_RMDIR,Variable paramiko.sftp_si.CMD_RMDIR=paramiko.sftp_si-module.html#CMD_RMDIR"><a title="paramiko.sftp.CMD_RMDIR
-paramiko.sftp_attr.CMD_RMDIR
-paramiko.sftp_client.CMD_RMDIR
-paramiko.sftp_file.CMD_RMDIR
-paramiko.sftp_handle.CMD_RMDIR
-paramiko.sftp_server.CMD_RMDIR
-paramiko.sftp_si.CMD_RMDIR" class="py-name" href="#" onclick="return doclink('link-24', 'CMD_RMDIR', 'link-24');">CMD_RMDIR</a></tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name" targets="Variable paramiko.sftp.CMD_REALPATH=paramiko.sftp-module.html#CMD_REALPATH,Variable paramiko.sftp_attr.CMD_REALPATH=paramiko.sftp_attr-module.html#CMD_REALPATH,Variable paramiko.sftp_client.CMD_REALPATH=paramiko.sftp_client-module.html#CMD_REALPATH,Variable paramiko.sftp_file.CMD_REALPATH=paramiko.sftp_file-module.html#CMD_REALPATH,Variable paramiko.sftp_handle.CMD_REALPATH=paramiko.sftp_handle-module.html#CMD_REALPATH,Variable paramiko.sftp_server.CMD_REALPATH=paramiko.sftp_server-module.html#CMD_REALPATH,Variable paramiko.sftp_si.CMD_REALPATH=paramiko.sftp_si-module.html#CMD_REALPATH"><a title="paramiko.sftp.CMD_REALPATH
-paramiko.sftp_attr.CMD_REALPATH
-paramiko.sftp_client.CMD_REALPATH
-paramiko.sftp_file.CMD_REALPATH
-paramiko.sftp_handle.CMD_REALPATH
-paramiko.sftp_server.CMD_REALPATH
-paramiko.sftp_si.CMD_REALPATH" class="py-name" href="#" onclick="return doclink('link-25', 'CMD_REALPATH', 'link-25');">CMD_REALPATH</a></tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name" targets="Variable paramiko.sftp.CMD_STAT=paramiko.sftp-module.html#CMD_STAT,Variable paramiko.sftp_attr.CMD_STAT=paramiko.sftp_attr-module.html#CMD_STAT,Variable paramiko.sftp_client.CMD_STAT=paramiko.sftp_client-module.html#CMD_STAT,Variable paramiko.sftp_file.CMD_STAT=paramiko.sftp_file-module.html#CMD_STAT,Variable paramiko.sftp_handle.CMD_STAT=paramiko.sftp_handle-module.html#CMD_STAT,Variable paramiko.sftp_server.CMD_STAT=paramiko.sftp_server-module.html#CMD_STAT,Variable paramiko.sftp_si.CMD_STAT=paramiko.sftp_si-module.html#CMD_STAT"><a title="paramiko.sftp.CMD_STAT
-paramiko.sftp_attr.CMD_STAT
-paramiko.sftp_client.CMD_STAT
-paramiko.sftp_file.CMD_STAT
-paramiko.sftp_handle.CMD_STAT
-paramiko.sftp_server.CMD_STAT
-paramiko.sftp_si.CMD_STAT" class="py-name" href="#" onclick="return doclink('link-26', 'CMD_STAT', 'link-26');">CMD_STAT</a></tt><tt class="py-op">,</tt> <tt id="link-27" class="py-name" targets="Variable paramiko.sftp.CMD_RENAME=paramiko.sftp-module.html#CMD_RENAME,Variable paramiko.sftp_attr.CMD_RENAME=paramiko.sftp_attr-module.html#CMD_RENAME,Variable paramiko.sftp_client.CMD_RENAME=paramiko.sftp_client-module.html#CMD_RENAME,Variable paramiko.sftp_file.CMD_RENAME=paramiko.sftp_file-module.html#CMD_RENAME,Variable paramiko.sftp_handle.CMD_RENAME=paramiko.sftp_handle-module.html#CMD_RENAME,Variable paramiko.sftp_server.CMD_RENAME=paramiko.sftp_server-module.html#CMD_RENAME,Variable paramiko.sftp_si.CMD_RENAME=paramiko.sftp_si-module.html#CMD_RENAME"><a title="paramiko.sftp.CMD_RENAME
-paramiko.sftp_attr.CMD_RENAME
-paramiko.sftp_client.CMD_RENAME
-paramiko.sftp_file.CMD_RENAME
-paramiko.sftp_handle.CMD_RENAME
-paramiko.sftp_server.CMD_RENAME
-paramiko.sftp_si.CMD_RENAME" class="py-name" href="#" onclick="return doclink('link-27', 'CMD_RENAME', 'link-27');">CMD_RENAME</a></tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name" targets="Variable paramiko.sftp.CMD_READLINK=paramiko.sftp-module.html#CMD_READLINK,Variable paramiko.sftp_attr.CMD_READLINK=paramiko.sftp_attr-module.html#CMD_READLINK,Variable paramiko.sftp_client.CMD_READLINK=paramiko.sftp_client-module.html#CMD_READLINK,Variable paramiko.sftp_file.CMD_READLINK=paramiko.sftp_file-module.html#CMD_READLINK,Variable paramiko.sftp_handle.CMD_READLINK=paramiko.sftp_handle-module.html#CMD_READLINK,Variable paramiko.sftp_server.CMD_READLINK=paramiko.sftp_server-module.html#CMD_READLINK,Variable paramiko.sftp_si.CMD_READLINK=paramiko.sftp_si-module.html#CMD_READLINK"><a title="paramiko.sftp.CMD_READLINK
-paramiko.sftp_attr.CMD_READLINK
-paramiko.sftp_client.CMD_READLINK
-paramiko.sftp_file.CMD_READLINK
-paramiko.sftp_handle.CMD_READLINK
-paramiko.sftp_server.CMD_READLINK
-paramiko.sftp_si.CMD_READLINK" class="py-name" href="#" onclick="return doclink('link-28', 'CMD_READLINK', 'link-28');">CMD_READLINK</a></tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name" targets="Variable paramiko.sftp.CMD_SYMLINK=paramiko.sftp-module.html#CMD_SYMLINK,Variable paramiko.sftp_attr.CMD_SYMLINK=paramiko.sftp_attr-module.html#CMD_SYMLINK,Variable paramiko.sftp_client.CMD_SYMLINK=paramiko.sftp_client-module.html#CMD_SYMLINK,Variable paramiko.sftp_file.CMD_SYMLINK=paramiko.sftp_file-module.html#CMD_SYMLINK,Variable paramiko.sftp_handle.CMD_SYMLINK=paramiko.sftp_handle-module.html#CMD_SYMLINK,Variable paramiko.sftp_server.CMD_SYMLINK=paramiko.sftp_server-module.html#CMD_SYMLINK,Variable paramiko.sftp_si.CMD_SYMLINK=paramiko.sftp_si-module.html#CMD_SYMLINK"><a title="paramiko.sftp.CMD_SYMLINK
-paramiko.sftp_attr.CMD_SYMLINK
-paramiko.sftp_client.CMD_SYMLINK
-paramiko.sftp_file.CMD_SYMLINK
-paramiko.sftp_handle.CMD_SYMLINK
-paramiko.sftp_server.CMD_SYMLINK
-paramiko.sftp_si.CMD_SYMLINK" class="py-name" href="#" onclick="return doclink('link-29', 'CMD_SYMLINK', 'link-29');">CMD_SYMLINK</a></tt> \ </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">21</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt id="link-30" class="py-name" targets="Variable paramiko.sftp.CMD_STATUS=paramiko.sftp-module.html#CMD_STATUS,Variable paramiko.sftp_attr.CMD_STATUS=paramiko.sftp_attr-module.html#CMD_STATUS,Variable paramiko.sftp_client.CMD_STATUS=paramiko.sftp_client-module.html#CMD_STATUS,Variable paramiko.sftp_file.CMD_STATUS=paramiko.sftp_file-module.html#CMD_STATUS,Variable paramiko.sftp_handle.CMD_STATUS=paramiko.sftp_handle-module.html#CMD_STATUS,Variable paramiko.sftp_server.CMD_STATUS=paramiko.sftp_server-module.html#CMD_STATUS,Variable paramiko.sftp_si.CMD_STATUS=paramiko.sftp_si-module.html#CMD_STATUS"><a title="paramiko.sftp.CMD_STATUS
-paramiko.sftp_attr.CMD_STATUS
-paramiko.sftp_client.CMD_STATUS
-paramiko.sftp_file.CMD_STATUS
-paramiko.sftp_handle.CMD_STATUS
-paramiko.sftp_server.CMD_STATUS
-paramiko.sftp_si.CMD_STATUS" class="py-name" href="#" onclick="return doclink('link-30', 'CMD_STATUS', 'link-30');">CMD_STATUS</a></tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name" targets="Variable paramiko.sftp.CMD_HANDLE=paramiko.sftp-module.html#CMD_HANDLE,Variable paramiko.sftp_attr.CMD_HANDLE=paramiko.sftp_attr-module.html#CMD_HANDLE,Variable paramiko.sftp_client.CMD_HANDLE=paramiko.sftp_client-module.html#CMD_HANDLE,Variable paramiko.sftp_file.CMD_HANDLE=paramiko.sftp_file-module.html#CMD_HANDLE,Variable paramiko.sftp_handle.CMD_HANDLE=paramiko.sftp_handle-module.html#CMD_HANDLE,Variable paramiko.sftp_server.CMD_HANDLE=paramiko.sftp_server-module.html#CMD_HANDLE,Variable paramiko.sftp_si.CMD_HANDLE=paramiko.sftp_si-module.html#CMD_HANDLE"><a title="paramiko.sftp.CMD_HANDLE
-paramiko.sftp_attr.CMD_HANDLE
-paramiko.sftp_client.CMD_HANDLE
-paramiko.sftp_file.CMD_HANDLE
-paramiko.sftp_handle.CMD_HANDLE
-paramiko.sftp_server.CMD_HANDLE
-paramiko.sftp_si.CMD_HANDLE" class="py-name" href="#" onclick="return doclink('link-31', 'CMD_HANDLE', 'link-31');">CMD_HANDLE</a></tt><tt class="py-op">,</tt> <tt id="link-32" class="py-name" targets="Variable paramiko.sftp.CMD_DATA=paramiko.sftp-module.html#CMD_DATA,Variable paramiko.sftp_attr.CMD_DATA=paramiko.sftp_attr-module.html#CMD_DATA,Variable paramiko.sftp_client.CMD_DATA=paramiko.sftp_client-module.html#CMD_DATA,Variable paramiko.sftp_file.CMD_DATA=paramiko.sftp_file-module.html#CMD_DATA,Variable paramiko.sftp_handle.CMD_DATA=paramiko.sftp_handle-module.html#CMD_DATA,Variable paramiko.sftp_server.CMD_DATA=paramiko.sftp_server-module.html#CMD_DATA,Variable paramiko.sftp_si.CMD_DATA=paramiko.sftp_si-module.html#CMD_DATA"><a title="paramiko.sftp.CMD_DATA
-paramiko.sftp_attr.CMD_DATA
-paramiko.sftp_client.CMD_DATA
-paramiko.sftp_file.CMD_DATA
-paramiko.sftp_handle.CMD_DATA
-paramiko.sftp_server.CMD_DATA
-paramiko.sftp_si.CMD_DATA" class="py-name" href="#" onclick="return doclink('link-32', 'CMD_DATA', 'link-32');">CMD_DATA</a></tt><tt class="py-op">,</tt> <tt id="link-33" class="py-name" targets="Variable paramiko.sftp.CMD_NAME=paramiko.sftp-module.html#CMD_NAME,Variable paramiko.sftp_attr.CMD_NAME=paramiko.sftp_attr-module.html#CMD_NAME,Variable paramiko.sftp_client.CMD_NAME=paramiko.sftp_client-module.html#CMD_NAME,Variable paramiko.sftp_file.CMD_NAME=paramiko.sftp_file-module.html#CMD_NAME,Variable paramiko.sftp_handle.CMD_NAME=paramiko.sftp_handle-module.html#CMD_NAME,Variable paramiko.sftp_server.CMD_NAME=paramiko.sftp_server-module.html#CMD_NAME,Variable paramiko.sftp_si.CMD_NAME=paramiko.sftp_si-module.html#CMD_NAME"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-33', 'CMD_NAME', 'link-33');">CMD_NAME</a></tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name" targets="Variable paramiko.sftp.CMD_ATTRS=paramiko.sftp-module.html#CMD_ATTRS,Variable paramiko.sftp_attr.CMD_ATTRS=paramiko.sftp_attr-module.html#CMD_ATTRS,Variable paramiko.sftp_client.CMD_ATTRS=paramiko.sftp_client-module.html#CMD_ATTRS,Variable paramiko.sftp_file.CMD_ATTRS=paramiko.sftp_file-module.html#CMD_ATTRS,Variable paramiko.sftp_handle.CMD_ATTRS=paramiko.sftp_handle-module.html#CMD_ATTRS,Variable paramiko.sftp_server.CMD_ATTRS=paramiko.sftp_server-module.html#CMD_ATTRS,Variable paramiko.sftp_si.CMD_ATTRS=paramiko.sftp_si-module.html#CMD_ATTRS"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-34', 'CMD_ATTRS', 'link-34');">CMD_ATTRS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">101</tt><tt class="py-op">,</tt> <tt class="py-number">106</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt id="link-35" class="py-name" targets="Variable paramiko.sftp.CMD_EXTENDED=paramiko.sftp-module.html#CMD_EXTENDED,Variable paramiko.sftp_attr.CMD_EXTENDED=paramiko.sftp_attr-module.html#CMD_EXTENDED,Variable paramiko.sftp_client.CMD_EXTENDED=paramiko.sftp_client-module.html#CMD_EXTENDED,Variable paramiko.sftp_file.CMD_EXTENDED=paramiko.sftp_file-module.html#CMD_EXTENDED,Variable paramiko.sftp_handle.CMD_EXTENDED=paramiko.sftp_handle-module.html#CMD_EXTENDED,Variable paramiko.sftp_server.CMD_EXTENDED=paramiko.sftp_server-module.html#CMD_EXTENDED,Variable paramiko.sftp_si.CMD_EXTENDED=paramiko.sftp_si-module.html#CMD_EXTENDED"><a title="paramiko.sftp.CMD_EXTENDED
-paramiko.sftp_attr.CMD_EXTENDED
-paramiko.sftp_client.CMD_EXTENDED
-paramiko.sftp_file.CMD_EXTENDED
-paramiko.sftp_handle.CMD_EXTENDED
-paramiko.sftp_server.CMD_EXTENDED
-paramiko.sftp_si.CMD_EXTENDED" class="py-name" href="#" onclick="return doclink('link-35', 'CMD_EXTENDED', 'link-35');">CMD_EXTENDED</a></tt><tt class="py-op">,</tt> <tt id="link-36" class="py-name" targets="Variable paramiko.sftp.CMD_EXTENDED_REPLY=paramiko.sftp-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_attr.CMD_EXTENDED_REPLY=paramiko.sftp_attr-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_client.CMD_EXTENDED_REPLY=paramiko.sftp_client-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_file.CMD_EXTENDED_REPLY=paramiko.sftp_file-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_handle.CMD_EXTENDED_REPLY=paramiko.sftp_handle-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_server.CMD_EXTENDED_REPLY=paramiko.sftp_server-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_si.CMD_EXTENDED_REPLY=paramiko.sftp_si-module.html#CMD_EXTENDED_REPLY"><a title="paramiko.sftp.CMD_EXTENDED_REPLY
-paramiko.sftp_attr.CMD_EXTENDED_REPLY
-paramiko.sftp_client.CMD_EXTENDED_REPLY
-paramiko.sftp_file.CMD_EXTENDED_REPLY
-paramiko.sftp_handle.CMD_EXTENDED_REPLY
-paramiko.sftp_server.CMD_EXTENDED_REPLY
-paramiko.sftp_si.CMD_EXTENDED_REPLY" class="py-name" href="#" onclick="return doclink('link-36', 'CMD_EXTENDED_REPLY', 'link-36');">CMD_EXTENDED_REPLY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">202</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt id="link-37" class="py-name" targets="Variable paramiko.sftp.SFTP_OK=paramiko.sftp-module.html#SFTP_OK,Variable paramiko.sftp_attr.SFTP_OK=paramiko.sftp_attr-module.html#SFTP_OK,Variable paramiko.sftp_client.SFTP_OK=paramiko.sftp_client-module.html#SFTP_OK,Variable paramiko.sftp_file.SFTP_OK=paramiko.sftp_file-module.html#SFTP_OK,Variable paramiko.sftp_handle.SFTP_OK=paramiko.sftp_handle-module.html#SFTP_OK,Variable paramiko.sftp_server.SFTP_OK=paramiko.sftp_server-module.html#SFTP_OK,Variable paramiko.sftp_si.SFTP_OK=paramiko.sftp_si-module.html#SFTP_OK"><a title="paramiko.sftp.SFTP_OK
-paramiko.sftp_attr.SFTP_OK
-paramiko.sftp_client.SFTP_OK
-paramiko.sftp_file.SFTP_OK
-paramiko.sftp_handle.SFTP_OK
-paramiko.sftp_server.SFTP_OK
-paramiko.sftp_si.SFTP_OK" class="py-name" href="#" onclick="return doclink('link-37', 'SFTP_OK', 'link-37');">SFTP_OK</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt id="link-38" class="py-name" targets="Variable paramiko.sftp.SFTP_EOF=paramiko.sftp-module.html#SFTP_EOF,Variable paramiko.sftp_attr.SFTP_EOF=paramiko.sftp_attr-module.html#SFTP_EOF,Variable paramiko.sftp_client.SFTP_EOF=paramiko.sftp_client-module.html#SFTP_EOF,Variable paramiko.sftp_file.SFTP_EOF=paramiko.sftp_file-module.html#SFTP_EOF,Variable paramiko.sftp_handle.SFTP_EOF=paramiko.sftp_handle-module.html#SFTP_EOF,Variable paramiko.sftp_server.SFTP_EOF=paramiko.sftp_server-module.html#SFTP_EOF,Variable paramiko.sftp_si.SFTP_EOF=paramiko.sftp_si-module.html#SFTP_EOF"><a title="paramiko.sftp.SFTP_EOF
-paramiko.sftp_attr.SFTP_EOF
-paramiko.sftp_client.SFTP_EOF
-paramiko.sftp_file.SFTP_EOF
-paramiko.sftp_handle.SFTP_EOF
-paramiko.sftp_server.SFTP_EOF
-paramiko.sftp_si.SFTP_EOF" class="py-name" href="#" onclick="return doclink('link-38', 'SFTP_EOF', 'link-38');">SFTP_EOF</a></tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name" targets="Variable paramiko.sftp.SFTP_NO_SUCH_FILE=paramiko.sftp-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_attr.SFTP_NO_SUCH_FILE=paramiko.sftp_attr-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_client.SFTP_NO_SUCH_FILE=paramiko.sftp_client-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_file.SFTP_NO_SUCH_FILE=paramiko.sftp_file-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_handle.SFTP_NO_SUCH_FILE=paramiko.sftp_handle-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_server.SFTP_NO_SUCH_FILE=paramiko.sftp_server-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_si.SFTP_NO_SUCH_FILE=paramiko.sftp_si-module.html#SFTP_NO_SUCH_FILE"><a title="paramiko.sftp.SFTP_NO_SUCH_FILE
-paramiko.sftp_attr.SFTP_NO_SUCH_FILE
-paramiko.sftp_client.SFTP_NO_SUCH_FILE
-paramiko.sftp_file.SFTP_NO_SUCH_FILE
-paramiko.sftp_handle.SFTP_NO_SUCH_FILE
-paramiko.sftp_server.SFTP_NO_SUCH_FILE
-paramiko.sftp_si.SFTP_NO_SUCH_FILE" class="py-name" href="#" onclick="return doclink('link-39', 'SFTP_NO_SUCH_FILE', 'link-39');">SFTP_NO_SUCH_FILE</a></tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name" targets="Variable paramiko.sftp.SFTP_PERMISSION_DENIED=paramiko.sftp-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_attr.SFTP_PERMISSION_DENIED=paramiko.sftp_attr-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_client.SFTP_PERMISSION_DENIED=paramiko.sftp_client-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_file.SFTP_PERMISSION_DENIED=paramiko.sftp_file-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_handle.SFTP_PERMISSION_DENIED=paramiko.sftp_handle-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_server.SFTP_PERMISSION_DENIED=paramiko.sftp_server-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_si.SFTP_PERMISSION_DENIED=paramiko.sftp_si-module.html#SFTP_PERMISSION_DENIED"><a title="paramiko.sftp.SFTP_PERMISSION_DENIED
-paramiko.sftp_attr.SFTP_PERMISSION_DENIED
-paramiko.sftp_client.SFTP_PERMISSION_DENIED
-paramiko.sftp_file.SFTP_PERMISSION_DENIED
-paramiko.sftp_handle.SFTP_PERMISSION_DENIED
-paramiko.sftp_server.SFTP_PERMISSION_DENIED
-paramiko.sftp_si.SFTP_PERMISSION_DENIED" class="py-name" href="#" onclick="return doclink('link-40', 'SFTP_PERMISSION_DENIED', 'link-40');">SFTP_PERMISSION_DENIED</a></tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name" targets="Variable paramiko.sftp.SFTP_FAILURE=paramiko.sftp-module.html#SFTP_FAILURE,Variable paramiko.sftp_attr.SFTP_FAILURE=paramiko.sftp_attr-module.html#SFTP_FAILURE,Variable paramiko.sftp_client.SFTP_FAILURE=paramiko.sftp_client-module.html#SFTP_FAILURE,Variable paramiko.sftp_file.SFTP_FAILURE=paramiko.sftp_file-module.html#SFTP_FAILURE,Variable paramiko.sftp_handle.SFTP_FAILURE=paramiko.sftp_handle-module.html#SFTP_FAILURE,Variable paramiko.sftp_server.SFTP_FAILURE=paramiko.sftp_server-module.html#SFTP_FAILURE,Variable paramiko.sftp_si.SFTP_FAILURE=paramiko.sftp_si-module.html#SFTP_FAILURE"><a title="paramiko.sftp.SFTP_FAILURE
-paramiko.sftp_attr.SFTP_FAILURE
-paramiko.sftp_client.SFTP_FAILURE
-paramiko.sftp_file.SFTP_FAILURE
-paramiko.sftp_handle.SFTP_FAILURE
-paramiko.sftp_server.SFTP_FAILURE
-paramiko.sftp_si.SFTP_FAILURE" class="py-name" href="#" onclick="return doclink('link-41', 'SFTP_FAILURE', 'link-41');">SFTP_FAILURE</a></tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name" targets="Variable paramiko.sftp.SFTP_BAD_MESSAGE=paramiko.sftp-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_attr.SFTP_BAD_MESSAGE=paramiko.sftp_attr-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_client.SFTP_BAD_MESSAGE=paramiko.sftp_client-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_file.SFTP_BAD_MESSAGE=paramiko.sftp_file-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_handle.SFTP_BAD_MESSAGE=paramiko.sftp_handle-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_server.SFTP_BAD_MESSAGE=paramiko.sftp_server-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_si.SFTP_BAD_MESSAGE=paramiko.sftp_si-module.html#SFTP_BAD_MESSAGE"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-42', 'SFTP_BAD_MESSAGE', 'link-42');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> \ </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-43" class="py-name" targets="Variable paramiko.sftp.SFTP_NO_CONNECTION=paramiko.sftp-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_attr.SFTP_NO_CONNECTION=paramiko.sftp_attr-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_client.SFTP_NO_CONNECTION=paramiko.sftp_client-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_file.SFTP_NO_CONNECTION=paramiko.sftp_file-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_handle.SFTP_NO_CONNECTION=paramiko.sftp_handle-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_server.SFTP_NO_CONNECTION=paramiko.sftp_server-module.html#SFTP_NO_CONNECTION,Variable paramiko.sftp_si.SFTP_NO_CONNECTION=paramiko.sftp_si-module.html#SFTP_NO_CONNECTION"><a title="paramiko.sftp.SFTP_NO_CONNECTION
-paramiko.sftp_attr.SFTP_NO_CONNECTION
-paramiko.sftp_client.SFTP_NO_CONNECTION
-paramiko.sftp_file.SFTP_NO_CONNECTION
-paramiko.sftp_handle.SFTP_NO_CONNECTION
-paramiko.sftp_server.SFTP_NO_CONNECTION
-paramiko.sftp_si.SFTP_NO_CONNECTION" class="py-name" href="#" onclick="return doclink('link-43', 'SFTP_NO_CONNECTION', 'link-43');">SFTP_NO_CONNECTION</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name" targets="Variable paramiko.sftp.SFTP_CONNECTION_LOST=paramiko.sftp-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_attr.SFTP_CONNECTION_LOST=paramiko.sftp_attr-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_client.SFTP_CONNECTION_LOST=paramiko.sftp_client-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_file.SFTP_CONNECTION_LOST=paramiko.sftp_file-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_handle.SFTP_CONNECTION_LOST=paramiko.sftp_handle-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_server.SFTP_CONNECTION_LOST=paramiko.sftp_server-module.html#SFTP_CONNECTION_LOST,Variable paramiko.sftp_si.SFTP_CONNECTION_LOST=paramiko.sftp_si-module.html#SFTP_CONNECTION_LOST"><a title="paramiko.sftp.SFTP_CONNECTION_LOST
-paramiko.sftp_attr.SFTP_CONNECTION_LOST
-paramiko.sftp_client.SFTP_CONNECTION_LOST
-paramiko.sftp_file.SFTP_CONNECTION_LOST
-paramiko.sftp_handle.SFTP_CONNECTION_LOST
-paramiko.sftp_server.SFTP_CONNECTION_LOST
-paramiko.sftp_si.SFTP_CONNECTION_LOST" class="py-name" href="#" onclick="return doclink('link-44', 'SFTP_CONNECTION_LOST', 'link-44');">SFTP_CONNECTION_LOST</a></tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name" targets="Variable paramiko.sftp.SFTP_OP_UNSUPPORTED=paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_attr.SFTP_OP_UNSUPPORTED=paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_client.SFTP_OP_UNSUPPORTED=paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_file.SFTP_OP_UNSUPPORTED=paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_handle.SFTP_OP_UNSUPPORTED=paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_server.SFTP_OP_UNSUPPORTED=paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_si.SFTP_OP_UNSUPPORTED=paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-45', 'SFTP_OP_UNSUPPORTED', 'link-45');">SFTP_OP_UNSUPPORTED</a></tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt id="link-46" class="py-name" targets="Variable paramiko.sftp.SFTP_DESC=paramiko.sftp-module.html#SFTP_DESC,Variable paramiko.sftp_attr.SFTP_DESC=paramiko.sftp_attr-module.html#SFTP_DESC,Variable paramiko.sftp_client.SFTP_DESC=paramiko.sftp_client-module.html#SFTP_DESC,Variable paramiko.sftp_file.SFTP_DESC=paramiko.sftp_file-module.html#SFTP_DESC,Variable paramiko.sftp_handle.SFTP_DESC=paramiko.sftp_handle-module.html#SFTP_DESC,Variable paramiko.sftp_server.SFTP_DESC=paramiko.sftp_server-module.html#SFTP_DESC,Variable paramiko.sftp_si.SFTP_DESC=paramiko.sftp_si-module.html#SFTP_DESC"><a title="paramiko.sftp.SFTP_DESC
-paramiko.sftp_attr.SFTP_DESC
-paramiko.sftp_client.SFTP_DESC
-paramiko.sftp_file.SFTP_DESC
-paramiko.sftp_handle.SFTP_DESC
-paramiko.sftp_server.SFTP_DESC
-paramiko.sftp_si.SFTP_DESC" class="py-name" href="#" onclick="return doclink('link-46', 'SFTP_DESC', 'link-46');">SFTP_DESC</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'Success'</tt><tt class="py-op">,</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-string">'End of file'</tt><tt class="py-op">,</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-string">'No such file'</tt><tt class="py-op">,</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-string">'Permission denied'</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-string">'Failure'</tt><tt class="py-op">,</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-string">'Bad message'</tt><tt class="py-op">,</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-string">'No connection'</tt><tt class="py-op">,</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-string">'Connection lost'</tt><tt class="py-op">,</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-string">'Operation unsupported'</tt> <tt class="py-op">]</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_READ=paramiko.sftp-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_attr.SFTP_FLAG_READ=paramiko.sftp_attr-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_client.SFTP_FLAG_READ=paramiko.sftp_client-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_file.SFTP_FLAG_READ=paramiko.sftp_file-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_handle.SFTP_FLAG_READ=paramiko.sftp_handle-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_server.SFTP_FLAG_READ=paramiko.sftp_server-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_si.SFTP_FLAG_READ=paramiko.sftp_si-module.html#SFTP_FLAG_READ"><a title="paramiko.sftp.SFTP_FLAG_READ
-paramiko.sftp_attr.SFTP_FLAG_READ
-paramiko.sftp_client.SFTP_FLAG_READ
-paramiko.sftp_file.SFTP_FLAG_READ
-paramiko.sftp_handle.SFTP_FLAG_READ
-paramiko.sftp_server.SFTP_FLAG_READ
-paramiko.sftp_si.SFTP_FLAG_READ" class="py-name" href="#" onclick="return doclink('link-47', 'SFTP_FLAG_READ', 'link-47');">SFTP_FLAG_READ</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x1</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_WRITE=paramiko.sftp-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_attr.SFTP_FLAG_WRITE=paramiko.sftp_attr-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_client.SFTP_FLAG_WRITE=paramiko.sftp_client-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_file.SFTP_FLAG_WRITE=paramiko.sftp_file-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_handle.SFTP_FLAG_WRITE=paramiko.sftp_handle-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_server.SFTP_FLAG_WRITE=paramiko.sftp_server-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_si.SFTP_FLAG_WRITE=paramiko.sftp_si-module.html#SFTP_FLAG_WRITE"><a title="paramiko.sftp.SFTP_FLAG_WRITE
-paramiko.sftp_attr.SFTP_FLAG_WRITE
-paramiko.sftp_client.SFTP_FLAG_WRITE
-paramiko.sftp_file.SFTP_FLAG_WRITE
-paramiko.sftp_handle.SFTP_FLAG_WRITE
-paramiko.sftp_server.SFTP_FLAG_WRITE
-paramiko.sftp_si.SFTP_FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-48', 'SFTP_FLAG_WRITE', 'link-48');">SFTP_FLAG_WRITE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_APPEND=paramiko.sftp-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_attr.SFTP_FLAG_APPEND=paramiko.sftp_attr-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_client.SFTP_FLAG_APPEND=paramiko.sftp_client-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_file.SFTP_FLAG_APPEND=paramiko.sftp_file-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_handle.SFTP_FLAG_APPEND=paramiko.sftp_handle-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_server.SFTP_FLAG_APPEND=paramiko.sftp_server-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_si.SFTP_FLAG_APPEND=paramiko.sftp_si-module.html#SFTP_FLAG_APPEND"><a title="paramiko.sftp.SFTP_FLAG_APPEND
-paramiko.sftp_attr.SFTP_FLAG_APPEND
-paramiko.sftp_client.SFTP_FLAG_APPEND
-paramiko.sftp_file.SFTP_FLAG_APPEND
-paramiko.sftp_handle.SFTP_FLAG_APPEND
-paramiko.sftp_server.SFTP_FLAG_APPEND
-paramiko.sftp_si.SFTP_FLAG_APPEND" class="py-name" href="#" onclick="return doclink('link-49', 'SFTP_FLAG_APPEND', 'link-49');">SFTP_FLAG_APPEND</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_CREATE=paramiko.sftp-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_attr.SFTP_FLAG_CREATE=paramiko.sftp_attr-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_client.SFTP_FLAG_CREATE=paramiko.sftp_client-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_file.SFTP_FLAG_CREATE=paramiko.sftp_file-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_handle.SFTP_FLAG_CREATE=paramiko.sftp_handle-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_server.SFTP_FLAG_CREATE=paramiko.sftp_server-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_si.SFTP_FLAG_CREATE=paramiko.sftp_si-module.html#SFTP_FLAG_CREATE"><a title="paramiko.sftp.SFTP_FLAG_CREATE
-paramiko.sftp_attr.SFTP_FLAG_CREATE
-paramiko.sftp_client.SFTP_FLAG_CREATE
-paramiko.sftp_file.SFTP_FLAG_CREATE
-paramiko.sftp_handle.SFTP_FLAG_CREATE
-paramiko.sftp_server.SFTP_FLAG_CREATE
-paramiko.sftp_si.SFTP_FLAG_CREATE" class="py-name" href="#" onclick="return doclink('link-50', 'SFTP_FLAG_CREATE', 'link-50');">SFTP_FLAG_CREATE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x8</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_TRUNC=paramiko.sftp-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_attr.SFTP_FLAG_TRUNC=paramiko.sftp_attr-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_client.SFTP_FLAG_TRUNC=paramiko.sftp_client-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_file.SFTP_FLAG_TRUNC=paramiko.sftp_file-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_handle.SFTP_FLAG_TRUNC=paramiko.sftp_handle-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_server.SFTP_FLAG_TRUNC=paramiko.sftp_server-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_si.SFTP_FLAG_TRUNC=paramiko.sftp_si-module.html#SFTP_FLAG_TRUNC"><a title="paramiko.sftp.SFTP_FLAG_TRUNC
-paramiko.sftp_attr.SFTP_FLAG_TRUNC
-paramiko.sftp_client.SFTP_FLAG_TRUNC
-paramiko.sftp_file.SFTP_FLAG_TRUNC
-paramiko.sftp_handle.SFTP_FLAG_TRUNC
-paramiko.sftp_server.SFTP_FLAG_TRUNC
-paramiko.sftp_si.SFTP_FLAG_TRUNC" class="py-name" href="#" onclick="return doclink('link-51', 'SFTP_FLAG_TRUNC', 'link-51');">SFTP_FLAG_TRUNC</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x10</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt id="link-52" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_EXCL=paramiko.sftp-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_attr.SFTP_FLAG_EXCL=paramiko.sftp_attr-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_client.SFTP_FLAG_EXCL=paramiko.sftp_client-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_file.SFTP_FLAG_EXCL=paramiko.sftp_file-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_handle.SFTP_FLAG_EXCL=paramiko.sftp_handle-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_server.SFTP_FLAG_EXCL=paramiko.sftp_server-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_si.SFTP_FLAG_EXCL=paramiko.sftp_si-module.html#SFTP_FLAG_EXCL"><a title="paramiko.sftp.SFTP_FLAG_EXCL
-paramiko.sftp_attr.SFTP_FLAG_EXCL
-paramiko.sftp_client.SFTP_FLAG_EXCL
-paramiko.sftp_file.SFTP_FLAG_EXCL
-paramiko.sftp_handle.SFTP_FLAG_EXCL
-paramiko.sftp_server.SFTP_FLAG_EXCL
-paramiko.sftp_si.SFTP_FLAG_EXCL" class="py-name" href="#" onclick="return doclink('link-52', 'SFTP_FLAG_EXCL', 'link-52');">SFTP_FLAG_EXCL</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x20</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt id="link-53" class="py-name" targets="Variable paramiko.sftp._VERSION=paramiko.sftp-module.html#_VERSION"><a title="paramiko.sftp._VERSION" class="py-name" href="#" onclick="return doclink('link-53', '_VERSION', 'link-53');">_VERSION</a></tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-comment"># for debugging</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt id="link-54" class="py-name" targets="Variable paramiko.sftp.CMD_NAMES=paramiko.sftp-module.html#CMD_NAMES,Variable paramiko.sftp_attr.CMD_NAMES=paramiko.sftp_attr-module.html#CMD_NAMES,Variable paramiko.sftp_client.CMD_NAMES=paramiko.sftp_client-module.html#CMD_NAMES,Variable paramiko.sftp_file.CMD_NAMES=paramiko.sftp_file-module.html#CMD_NAMES,Variable paramiko.sftp_handle.CMD_NAMES=paramiko.sftp_handle-module.html#CMD_NAMES,Variable paramiko.sftp_server.CMD_NAMES=paramiko.sftp_server-module.html#CMD_NAMES,Variable paramiko.sftp_si.CMD_NAMES=paramiko.sftp_si-module.html#CMD_NAMES"><a title="paramiko.sftp.CMD_NAMES
-paramiko.sftp_attr.CMD_NAMES
-paramiko.sftp_client.CMD_NAMES
-paramiko.sftp_file.CMD_NAMES
-paramiko.sftp_handle.CMD_NAMES
-paramiko.sftp_server.CMD_NAMES
-paramiko.sftp_si.CMD_NAMES" class="py-name" href="#" onclick="return doclink('link-54', 'CMD_NAMES', 'link-54');">CMD_NAMES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt id="link-55" class="py-name"><a title="paramiko.sftp.CMD_INIT
-paramiko.sftp_attr.CMD_INIT
-paramiko.sftp_client.CMD_INIT
-paramiko.sftp_file.CMD_INIT
-paramiko.sftp_handle.CMD_INIT
-paramiko.sftp_server.CMD_INIT
-paramiko.sftp_si.CMD_INIT" class="py-name" href="#" onclick="return doclink('link-55', 'CMD_INIT', 'link-10');">CMD_INIT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'init'</tt><tt class="py-op">,</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt id="link-56" class="py-name"><a title="paramiko.sftp.CMD_VERSION
-paramiko.sftp_attr.CMD_VERSION
-paramiko.sftp_client.CMD_VERSION
-paramiko.sftp_file.CMD_VERSION
-paramiko.sftp_handle.CMD_VERSION
-paramiko.sftp_server.CMD_VERSION
-paramiko.sftp_si.CMD_VERSION" class="py-name" href="#" onclick="return doclink('link-56', 'CMD_VERSION', 'link-11');">CMD_VERSION</a></tt><tt class="py-op">:</tt> <tt class="py-string">'version'</tt><tt class="py-op">,</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt id="link-57" class="py-name"><a title="paramiko.sftp.CMD_OPEN
-paramiko.sftp_attr.CMD_OPEN
-paramiko.sftp_client.CMD_OPEN
-paramiko.sftp_file.CMD_OPEN
-paramiko.sftp_handle.CMD_OPEN
-paramiko.sftp_server.CMD_OPEN
-paramiko.sftp_si.CMD_OPEN" class="py-name" href="#" onclick="return doclink('link-57', 'CMD_OPEN', 'link-12');">CMD_OPEN</a></tt><tt class="py-op">:</tt> <tt class="py-string">'open'</tt><tt class="py-op">,</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt id="link-58" class="py-name"><a title="paramiko.sftp.CMD_CLOSE
-paramiko.sftp_attr.CMD_CLOSE
-paramiko.sftp_client.CMD_CLOSE
-paramiko.sftp_file.CMD_CLOSE
-paramiko.sftp_handle.CMD_CLOSE
-paramiko.sftp_server.CMD_CLOSE
-paramiko.sftp_si.CMD_CLOSE" class="py-name" href="#" onclick="return doclink('link-58', 'CMD_CLOSE', 'link-13');">CMD_CLOSE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'close'</tt><tt class="py-op">,</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt id="link-59" class="py-name"><a title="paramiko.sftp.CMD_READ
-paramiko.sftp_attr.CMD_READ
-paramiko.sftp_client.CMD_READ
-paramiko.sftp_file.CMD_READ
-paramiko.sftp_handle.CMD_READ
-paramiko.sftp_server.CMD_READ
-paramiko.sftp_si.CMD_READ" class="py-name" href="#" onclick="return doclink('link-59', 'CMD_READ', 'link-14');">CMD_READ</a></tt><tt class="py-op">:</tt> <tt class="py-string">'read'</tt><tt class="py-op">,</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-60" class="py-name"><a title="paramiko.sftp.CMD_WRITE
-paramiko.sftp_attr.CMD_WRITE
-paramiko.sftp_client.CMD_WRITE
-paramiko.sftp_file.CMD_WRITE
-paramiko.sftp_handle.CMD_WRITE
-paramiko.sftp_server.CMD_WRITE
-paramiko.sftp_si.CMD_WRITE" class="py-name" href="#" onclick="return doclink('link-60', 'CMD_WRITE', 'link-15');">CMD_WRITE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'write'</tt><tt class="py-op">,</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt id="link-61" class="py-name"><a title="paramiko.sftp.CMD_LSTAT
-paramiko.sftp_attr.CMD_LSTAT
-paramiko.sftp_client.CMD_LSTAT
-paramiko.sftp_file.CMD_LSTAT
-paramiko.sftp_handle.CMD_LSTAT
-paramiko.sftp_server.CMD_LSTAT
-paramiko.sftp_si.CMD_LSTAT" class="py-name" href="#" onclick="return doclink('link-61', 'CMD_LSTAT', 'link-16');">CMD_LSTAT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'lstat'</tt><tt class="py-op">,</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="paramiko.sftp.CMD_FSTAT
-paramiko.sftp_attr.CMD_FSTAT
-paramiko.sftp_client.CMD_FSTAT
-paramiko.sftp_file.CMD_FSTAT
-paramiko.sftp_handle.CMD_FSTAT
-paramiko.sftp_server.CMD_FSTAT
-paramiko.sftp_si.CMD_FSTAT" class="py-name" href="#" onclick="return doclink('link-62', 'CMD_FSTAT', 'link-17');">CMD_FSTAT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'fstat'</tt><tt class="py-op">,</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt id="link-63" class="py-name"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-63', 'CMD_SETSTAT', 'link-18');">CMD_SETSTAT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'setstat'</tt><tt class="py-op">,</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt id="link-64" class="py-name"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-64', 'CMD_FSETSTAT', 'link-19');">CMD_FSETSTAT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'fsetstat'</tt><tt class="py-op">,</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt id="link-65" class="py-name"><a title="paramiko.sftp.CMD_OPENDIR
-paramiko.sftp_attr.CMD_OPENDIR
-paramiko.sftp_client.CMD_OPENDIR
-paramiko.sftp_file.CMD_OPENDIR
-paramiko.sftp_handle.CMD_OPENDIR
-paramiko.sftp_server.CMD_OPENDIR
-paramiko.sftp_si.CMD_OPENDIR" class="py-name" href="#" onclick="return doclink('link-65', 'CMD_OPENDIR', 'link-20');">CMD_OPENDIR</a></tt><tt class="py-op">:</tt> <tt class="py-string">'opendir'</tt><tt class="py-op">,</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt id="link-66" class="py-name"><a title="paramiko.sftp.CMD_READDIR
-paramiko.sftp_attr.CMD_READDIR
-paramiko.sftp_client.CMD_READDIR
-paramiko.sftp_file.CMD_READDIR
-paramiko.sftp_handle.CMD_READDIR
-paramiko.sftp_server.CMD_READDIR
-paramiko.sftp_si.CMD_READDIR" class="py-name" href="#" onclick="return doclink('link-66', 'CMD_READDIR', 'link-21');">CMD_READDIR</a></tt><tt class="py-op">:</tt> <tt class="py-string">'readdir'</tt><tt class="py-op">,</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-67" class="py-name"><a title="paramiko.sftp.CMD_REMOVE
-paramiko.sftp_attr.CMD_REMOVE
-paramiko.sftp_client.CMD_REMOVE
-paramiko.sftp_file.CMD_REMOVE
-paramiko.sftp_handle.CMD_REMOVE
-paramiko.sftp_server.CMD_REMOVE
-paramiko.sftp_si.CMD_REMOVE" class="py-name" href="#" onclick="return doclink('link-67', 'CMD_REMOVE', 'link-22');">CMD_REMOVE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'remove'</tt><tt class="py-op">,</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt id="link-68" class="py-name"><a title="paramiko.sftp.CMD_MKDIR
-paramiko.sftp_attr.CMD_MKDIR
-paramiko.sftp_client.CMD_MKDIR
-paramiko.sftp_file.CMD_MKDIR
-paramiko.sftp_handle.CMD_MKDIR
-paramiko.sftp_server.CMD_MKDIR
-paramiko.sftp_si.CMD_MKDIR" class="py-name" href="#" onclick="return doclink('link-68', 'CMD_MKDIR', 'link-23');">CMD_MKDIR</a></tt><tt class="py-op">:</tt> <tt class="py-string">'mkdir'</tt><tt class="py-op">,</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt id="link-69" class="py-name"><a title="paramiko.sftp.CMD_RMDIR
-paramiko.sftp_attr.CMD_RMDIR
-paramiko.sftp_client.CMD_RMDIR
-paramiko.sftp_file.CMD_RMDIR
-paramiko.sftp_handle.CMD_RMDIR
-paramiko.sftp_server.CMD_RMDIR
-paramiko.sftp_si.CMD_RMDIR" class="py-name" href="#" onclick="return doclink('link-69', 'CMD_RMDIR', 'link-24');">CMD_RMDIR</a></tt><tt class="py-op">:</tt> <tt class="py-string">'rmdir'</tt><tt class="py-op">,</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt id="link-70" class="py-name"><a title="paramiko.sftp.CMD_REALPATH
-paramiko.sftp_attr.CMD_REALPATH
-paramiko.sftp_client.CMD_REALPATH
-paramiko.sftp_file.CMD_REALPATH
-paramiko.sftp_handle.CMD_REALPATH
-paramiko.sftp_server.CMD_REALPATH
-paramiko.sftp_si.CMD_REALPATH" class="py-name" href="#" onclick="return doclink('link-70', 'CMD_REALPATH', 'link-25');">CMD_REALPATH</a></tt><tt class="py-op">:</tt> <tt class="py-string">'realpath'</tt><tt class="py-op">,</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt id="link-71" class="py-name"><a title="paramiko.sftp.CMD_STAT
-paramiko.sftp_attr.CMD_STAT
-paramiko.sftp_client.CMD_STAT
-paramiko.sftp_file.CMD_STAT
-paramiko.sftp_handle.CMD_STAT
-paramiko.sftp_server.CMD_STAT
-paramiko.sftp_si.CMD_STAT" class="py-name" href="#" onclick="return doclink('link-71', 'CMD_STAT', 'link-26');">CMD_STAT</a></tt><tt class="py-op">:</tt> <tt class="py-string">'stat'</tt><tt class="py-op">,</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt id="link-72" class="py-name"><a title="paramiko.sftp.CMD_RENAME
-paramiko.sftp_attr.CMD_RENAME
-paramiko.sftp_client.CMD_RENAME
-paramiko.sftp_file.CMD_RENAME
-paramiko.sftp_handle.CMD_RENAME
-paramiko.sftp_server.CMD_RENAME
-paramiko.sftp_si.CMD_RENAME" class="py-name" href="#" onclick="return doclink('link-72', 'CMD_RENAME', 'link-27');">CMD_RENAME</a></tt><tt class="py-op">:</tt> <tt class="py-string">'rename'</tt><tt class="py-op">,</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt id="link-73" class="py-name"><a title="paramiko.sftp.CMD_READLINK
-paramiko.sftp_attr.CMD_READLINK
-paramiko.sftp_client.CMD_READLINK
-paramiko.sftp_file.CMD_READLINK
-paramiko.sftp_handle.CMD_READLINK
-paramiko.sftp_server.CMD_READLINK
-paramiko.sftp_si.CMD_READLINK" class="py-name" href="#" onclick="return doclink('link-73', 'CMD_READLINK', 'link-28');">CMD_READLINK</a></tt><tt class="py-op">:</tt> <tt class="py-string">'readlink'</tt><tt class="py-op">,</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt id="link-74" class="py-name"><a title="paramiko.sftp.CMD_SYMLINK
-paramiko.sftp_attr.CMD_SYMLINK
-paramiko.sftp_client.CMD_SYMLINK
-paramiko.sftp_file.CMD_SYMLINK
-paramiko.sftp_handle.CMD_SYMLINK
-paramiko.sftp_server.CMD_SYMLINK
-paramiko.sftp_si.CMD_SYMLINK" class="py-name" href="#" onclick="return doclink('link-74', 'CMD_SYMLINK', 'link-29');">CMD_SYMLINK</a></tt><tt class="py-op">:</tt> <tt class="py-string">'symlink'</tt><tt class="py-op">,</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt id="link-75" class="py-name"><a title="paramiko.sftp.CMD_STATUS
-paramiko.sftp_attr.CMD_STATUS
-paramiko.sftp_client.CMD_STATUS
-paramiko.sftp_file.CMD_STATUS
-paramiko.sftp_handle.CMD_STATUS
-paramiko.sftp_server.CMD_STATUS
-paramiko.sftp_si.CMD_STATUS" class="py-name" href="#" onclick="return doclink('link-75', 'CMD_STATUS', 'link-30');">CMD_STATUS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'status'</tt><tt class="py-op">,</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-76" class="py-name"><a title="paramiko.sftp.CMD_HANDLE
-paramiko.sftp_attr.CMD_HANDLE
-paramiko.sftp_client.CMD_HANDLE
-paramiko.sftp_file.CMD_HANDLE
-paramiko.sftp_handle.CMD_HANDLE
-paramiko.sftp_server.CMD_HANDLE
-paramiko.sftp_si.CMD_HANDLE" class="py-name" href="#" onclick="return doclink('link-76', 'CMD_HANDLE', 'link-31');">CMD_HANDLE</a></tt><tt class="py-op">:</tt> <tt class="py-string">'handle'</tt><tt class="py-op">,</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt id="link-77" class="py-name"><a title="paramiko.sftp.CMD_DATA
-paramiko.sftp_attr.CMD_DATA
-paramiko.sftp_client.CMD_DATA
-paramiko.sftp_file.CMD_DATA
-paramiko.sftp_handle.CMD_DATA
-paramiko.sftp_server.CMD_DATA
-paramiko.sftp_si.CMD_DATA" class="py-name" href="#" onclick="return doclink('link-77', 'CMD_DATA', 'link-32');">CMD_DATA</a></tt><tt class="py-op">:</tt> <tt class="py-string">'data'</tt><tt class="py-op">,</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt id="link-78" class="py-name"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-78', 'CMD_NAME', 'link-33');">CMD_NAME</a></tt><tt class="py-op">:</tt> <tt class="py-string">'name'</tt><tt class="py-op">,</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt id="link-79" class="py-name"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-79', 'CMD_ATTRS', 'link-34');">CMD_ATTRS</a></tt><tt class="py-op">:</tt> <tt class="py-string">'attrs'</tt><tt class="py-op">,</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="paramiko.sftp.CMD_EXTENDED
-paramiko.sftp_attr.CMD_EXTENDED
-paramiko.sftp_client.CMD_EXTENDED
-paramiko.sftp_file.CMD_EXTENDED
-paramiko.sftp_handle.CMD_EXTENDED
-paramiko.sftp_server.CMD_EXTENDED
-paramiko.sftp_si.CMD_EXTENDED" class="py-name" href="#" onclick="return doclink('link-80', 'CMD_EXTENDED', 'link-35');">CMD_EXTENDED</a></tt><tt class="py-op">:</tt> <tt class="py-string">'extended'</tt><tt class="py-op">,</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt id="link-81" class="py-name"><a title="paramiko.sftp.CMD_EXTENDED_REPLY
-paramiko.sftp_attr.CMD_EXTENDED_REPLY
-paramiko.sftp_client.CMD_EXTENDED_REPLY
-paramiko.sftp_file.CMD_EXTENDED_REPLY
-paramiko.sftp_handle.CMD_EXTENDED_REPLY
-paramiko.sftp_server.CMD_EXTENDED_REPLY
-paramiko.sftp_si.CMD_EXTENDED_REPLY" class="py-name" href="#" onclick="return doclink('link-81', 'CMD_EXTENDED_REPLY', 'link-36');">CMD_EXTENDED_REPLY</a></tt><tt class="py-op">:</tt> <tt class="py-string">'extended_reply'</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
-<a name="SFTPError"></a><div id="SFTPError-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="SFTPError-toggle" onclick="return toggle('SFTPError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp.SFTPError-class.html">SFTPError</a> <tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPError-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP"></a><div id="BaseSFTP-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="BaseSFTP-toggle" onclick="return toggle('BaseSFTP');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html">BaseSFTP</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BaseSFTP-expanded"><a name="BaseSFTP.__init__"></a><div id="BaseSFTP.__init__-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="BaseSFTP.__init__-toggle" onclick="return toggle('BaseSFTP.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP.__init__-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name" targets="Class paramiko.logging22.logger=paramiko.logging22.logger-class.html"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-82', 'logger', 'link-82');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-83', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Function paramiko.util.get_logger()=paramiko.util-module.html#get_logger"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-84', 'get_logger', 'link-84');">get_logger</a></tt><tt class="py-op">(</tt><tt class="py-string">'paramiko.sftp'</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._send_version"></a><div id="BaseSFTP._send_version-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="BaseSFTP._send_version-toggle" onclick="return toggle('BaseSFTP._send_version');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_send_version">_send_version</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._send_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._send_version-expanded"><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_packet</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="paramiko.sftp.CMD_INIT
-paramiko.sftp_attr.CMD_INIT
-paramiko.sftp_client.CMD_INIT
-paramiko.sftp_file.CMD_INIT
-paramiko.sftp_handle.CMD_INIT
-paramiko.sftp_server.CMD_INIT
-paramiko.sftp_si.CMD_INIT" class="py-name" href="#" onclick="return doclink('link-85', 'CMD_INIT', 'link-10');">CMD_INIT</a></tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt id="link-86" class="py-name"><a title="paramiko.sftp._VERSION" class="py-name" href="#" onclick="return doclink('link-86', '_VERSION', 'link-53');">_VERSION</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_packet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-87" class="py-name"><a title="paramiko.sftp.CMD_VERSION
-paramiko.sftp_attr.CMD_VERSION
-paramiko.sftp_client.CMD_VERSION
-paramiko.sftp_file.CMD_VERSION
-paramiko.sftp_handle.CMD_VERSION
-paramiko.sftp_server.CMD_VERSION
-paramiko.sftp_si.CMD_VERSION" class="py-name" href="#" onclick="return doclink('link-87', 'CMD_VERSION', 'link-11');">CMD_VERSION</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-88" class="py-name" targets="Class paramiko.SFTPError=paramiko.SFTPError-class.html"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-88', 'SFTPError', 'link-88');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible sftp protocol'</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-comment"># if version != _VERSION:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-comment"># raise SFTPError('Incompatible sftp protocol')</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">version</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._send_server_version"></a><div id="BaseSFTP._send_server_version-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="BaseSFTP._send_server_version-toggle" onclick="return toggle('BaseSFTP._send_server_version');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_send_server_version">_send_server_version</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._send_server_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._send_server_version-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-comment"># winscp will freak out if the server sends version info before the</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-comment"># client finishes sending INIT.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_packet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-89" class="py-name"><a title="paramiko.sftp.CMD_INIT
-paramiko.sftp_attr.CMD_INIT
-paramiko.sftp_client.CMD_INIT
-paramiko.sftp_file.CMD_INIT
-paramiko.sftp_handle.CMD_INIT
-paramiko.sftp_server.CMD_INIT
-paramiko.sftp_si.CMD_INIT" class="py-name" href="#" onclick="return doclink('link-89', 'CMD_INIT', 'link-10');">CMD_INIT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-90" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-90', 'SFTPError', 'link-88');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible sftp protocol'</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-comment"># advertise that we support "check-file"</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">extension_pairs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'check-file'</tt><tt class="py-op">,</tt> <tt class="py-string">'md5,sha1'</tt> <tt class="py-op">]</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-91', 'Message', 'link-9');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-92', 'add_int', 'link-92');">add_int</a></tt><tt class="py-op">(</tt><tt id="link-93" class="py-name"><a title="paramiko.sftp._VERSION" class="py-name" href="#" onclick="return doclink('link-93', '_VERSION', 'link-53');">_VERSION</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method paramiko.HostKeys.add()=paramiko.HostKeys-class.html#add,Method paramiko.Message.add()=paramiko.Message-class.html#add"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-94', 'add', 'link-94');">add</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">extension_pairs</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_packet</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="paramiko.sftp.CMD_VERSION
-paramiko.sftp_attr.CMD_VERSION
-paramiko.sftp_client.CMD_VERSION
-paramiko.sftp_file.CMD_VERSION
-paramiko.sftp_handle.CMD_VERSION
-paramiko.sftp_server.CMD_VERSION
-paramiko.sftp_si.CMD_VERSION" class="py-name" href="#" onclick="return doclink('link-95', 'CMD_VERSION', 'link-11');">CMD_VERSION</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">version</tt> </tt>
-</div><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._log"></a><div id="BaseSFTP._log-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="BaseSFTP._log-toggle" onclick="return toggle('BaseSFTP._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._log-expanded"><a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-96', 'logger', 'link-82');">logger</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method paramiko.logging22.logger.log()=paramiko.logging22.logger-class.html#log"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-97');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._write_all"></a><div id="BaseSFTP._write_all-def"><a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="BaseSFTP._write_all-toggle" onclick="return toggle('BaseSFTP._write_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_write_all">_write_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">out</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._write_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._write_all-expanded"><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Method paramiko.Channel.send()=paramiko.Channel-class.html#send,Method paramiko.win_pageant.PageantConnection.send()=paramiko.win_pageant.PageantConnection-class.html#send"><a title="paramiko.Channel.send
-paramiko.win_pageant.PageantConnection.send" class="py-name" href="#" onclick="return doclink('link-98', 'send', 'link-98');">send</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">out</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._read_all"></a><div id="BaseSFTP._read_all-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="BaseSFTP._read_all-toggle" onclick="return toggle('BaseSFTP._read_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_read_all">_read_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._read_all-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._read_all-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-comment"># sometimes sftp is used directly over a socket instead of</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-comment"># through a paramiko channel. in this case, check periodically</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-comment"># if the socket is closed. (for some reason, recv() won't ever</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-comment"># return or raise an exception, but calling select on a closed</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-comment"># socket will.)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt id="link-99" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-99', 'read', 'link-99');">read</a></tt><tt class="py-op">,</tt> <tt id="link-100" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-100', 'write', 'link-100');">write</a></tt><tt class="py-op">,</tt> <tt class="py-name">err</tt> <tt class="py-op">=</tt> <tt class="py-name">select</tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-101', 'read', 'link-99');">read</a></tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Method paramiko.Channel.recv()=paramiko.Channel-class.html#recv,Method paramiko.win_pageant.PageantConnection.recv()=paramiko.win_pageant.PageantConnection-class.html#recv"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-102', 'recv', 'link-102');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="paramiko.Channel.recv
-paramiko.win_pageant.PageantConnection.recv" class="py-name" href="#" onclick="return doclink('link-103', 'recv', 'link-102');">recv</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">x</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">-=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._send_packet"></a><div id="BaseSFTP._send_packet-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="BaseSFTP._send_packet-toggle" onclick="return toggle('BaseSFTP._send_packet');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_send_packet">_send_packet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">,</tt> <tt class="py-param">packet</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._send_packet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._send_packet-expanded"><a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-comment">#self._log(DEBUG2, 'write: %s (len=%d)' % (CMD_NAMES.get(t, '0x%02x' % t), len(packet)))</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-104" class="py-name" targets="Module paramiko.packet=paramiko.packet-module.html"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-104', 'packet', 'link-104');">packet</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-105" class="py-name"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-105', 'packet', 'link-104');">packet</a></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-106" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-106', 'DEBUG', 'link-106');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-107" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-107', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-108" class="py-name" targets="Function paramiko.util.format_binary()=paramiko.util-module.html#format_binary"><a title="paramiko.util.format_binary" class="py-name" href="#" onclick="return doclink('link-108', 'format_binary', 'link-108');">format_binary</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">,</tt> <tt class="py-string">'OUT: '</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_write_all</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> </tt>
-<a name="BaseSFTP._read_packet"></a><div id="BaseSFTP._read_packet-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="BaseSFTP._read_packet-toggle" onclick="return toggle('BaseSFTP._read_packet');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp.BaseSFTP-class.html#_read_packet">_read_packet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseSFTP._read_packet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BaseSFTP._read_packet-expanded"><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_all</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-comment"># most sftp servers won't accept packets larger than about 32k, so</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-comment"># anything with the high byte set (&gt; 16MB) is just garbage.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\x00'</tt><tt class="py-op">:</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-109" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-109', 'SFTPError', 'link-88');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Garbage packet received'</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_all</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt><tt class="py-op">:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-110" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-110', 'DEBUG', 'link-106');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-111" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-111', 'util', 'link-3');">util</a></tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.util.format_binary" class="py-name" href="#" onclick="return doclink('link-112', 'format_binary', 'link-108');">format_binary</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-string">'IN: '</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-comment">#self._log(DEBUG2, 'read: %s (len=%d)' % (CMD_NAMES.get(t), '0x%02x' % t, len(data)-1))</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> </tt>
-</div></div><a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_attr-module.html b/docs/paramiko.sftp_attr-module.html
deleted file mode 100644
index 72994b1..0000000
--- a/docs/paramiko.sftp_attr-module.html
+++ /dev/null
@@ -1,905 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_attr</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_attr
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_attr-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp_attr</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp_attr-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_attr-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_attr-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_attr-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_attr-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_attr-pysrc.html b/docs/paramiko.sftp_attr-pysrc.html
deleted file mode 100644
index 84af991..0000000
--- a/docs/paramiko.sftp_attr-pysrc.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_attr</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_attr
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_attr-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp_attr-module.html" onclick="show_private();">Module paramiko.sftp_attr</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2006 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Method paramiko.SFTPClient.stat()=paramiko.SFTPClient-class.html#stat,Method paramiko.SFTPFile.stat()=paramiko.SFTPFile-class.html#stat,Method paramiko.SFTPHandle.stat()=paramiko.SFTPHandle-class.html#stat,Method paramiko.SFTPServerInterface.stat()=paramiko.SFTPServerInterface-class.html#stat"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-0', 'stat', 'link-0');">stat</a></tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-1', 'paramiko', 'link-1');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-3', 'paramiko', 'link-1');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-4', 'sftp', 'link-4');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes"></a><div id="SFTPAttributes-def"><a name="L25"></a><tt class="py-lineno"> 25</tt> <a class="py-toggle" href="#" id="SFTPAttributes-toggle" onclick="return toggle('SFTPAttributes');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html">SFTPAttributes</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPAttributes-expanded"><a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring"> Representation of the attributes of a file (or proxied file) for SFTP in</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"> client or server mode. It attemps to mirror the object returned by</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> C{os.stat} as closely as possible, so it may have the following fields,</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> with the same meanings as those returned by an C{os.stat} object:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> - st_size</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> - st_uid</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"> - st_gid</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> - st_mode</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> - st_atime</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> - st_mtime</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> Because SFTP allows flags to have other arbitrary named attributes, these</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> are stored in a dict named C{attr}. Occasionally, the filename is also</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> stored, in C{filename}.</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_SIZE=paramiko.SFTPAttributes-class.html#FLAG_SIZE"><a title="paramiko.SFTPAttributes.FLAG_SIZE" class="py-name" href="#" onclick="return doclink('link-5', 'FLAG_SIZE', 'link-5');">FLAG_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_UIDGID=paramiko.SFTPAttributes-class.html#FLAG_UIDGID"><a title="paramiko.SFTPAttributes.FLAG_UIDGID" class="py-name" href="#" onclick="return doclink('link-6', 'FLAG_UIDGID', 'link-6');">FLAG_UIDGID</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt id="link-7" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_PERMISSIONS=paramiko.SFTPAttributes-class.html#FLAG_PERMISSIONS"><a title="paramiko.SFTPAttributes.FLAG_PERMISSIONS" class="py-name" href="#" onclick="return doclink('link-7', 'FLAG_PERMISSIONS', 'link-7');">FLAG_PERMISSIONS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt id="link-8" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_AMTIME=paramiko.SFTPAttributes-class.html#FLAG_AMTIME"><a title="paramiko.SFTPAttributes.FLAG_AMTIME" class="py-name" href="#" onclick="return doclink('link-8', 'FLAG_AMTIME', 'link-8');">FLAG_AMTIME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">8</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt id="link-9" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_EXTENDED=paramiko.SFTPAttributes-class.html#FLAG_EXTENDED"><a title="paramiko.SFTPAttributes.FLAG_EXTENDED" class="py-name" href="#" onclick="return doclink('link-9', 'FLAG_EXTENDED', 'link-9');">FLAG_EXTENDED</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x80000000L</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes.__init__"></a><div id="SFTPAttributes.__init__-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="SFTPAttributes.__init__-toggle" onclick="return toggle('SFTPAttributes.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes.__init__-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> Create a new (empty) SFTPAttributes object. All fields will be empty.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes.from_stat"></a><div id="SFTPAttributes.from_stat-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="SFTPAttributes.from_stat-toggle" onclick="return toggle('SFTPAttributes.from_stat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#from_stat">from_stat</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">obj</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes.from_stat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes.from_stat-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> Create an SFTPAttributes object from an existing C{stat} object (an</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> object returned by C{os.stat}).</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> @param obj: an object returned by C{os.stat} (or equivalent).</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> @type obj: object</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: the filename associated with this file.</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> @return: new L{SFTPAttributes} object with the same attribute fields.</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPAttributes}</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">attr</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Class Method paramiko.SFTPAttributes.from_stat()=paramiko.SFTPAttributes-class.html#from_stat"><a title="paramiko.SFTPAttributes.from_stat" class="py-name" href="#" onclick="return doclink('link-10', 'from_stat', 'link-10');">from_stat</a></tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="paramiko.SFTPAttributes.from_stat" class="py-name" href="#" onclick="return doclink('link-11', 'from_stat', 'link-10');">from_stat</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes.__repr__"></a><div id="SFTPAttributes.__repr__-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="SFTPAttributes.__repr__-toggle" onclick="return toggle('SFTPAttributes.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes.__repr__-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;SFTPAttributes: %s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_debug_str</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes._from_msg"></a><div id="SFTPAttributes._from_msg-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="SFTPAttributes._from_msg-toggle" onclick="return toggle('SFTPAttributes._from_msg');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#_from_msg">_from_msg</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">longname</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes._from_msg-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes._from_msg-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">_unpack</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">longname</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">longname</tt> <tt class="py-op">=</tt> <tt class="py-name">longname</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">attr</tt> </tt>
-</div><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">_from_msg</tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt class="py-name">_from_msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes._unpack"></a><div id="SFTPAttributes._unpack-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="SFTPAttributes._unpack-toggle" onclick="return toggle('SFTPAttributes._unpack');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#_unpack">_unpack</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes._unpack-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes._unpack-expanded"><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-12', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_SIZE" class="py-name" href="#" onclick="return doclink('link-13', 'FLAG_SIZE', 'link-5');">FLAG_SIZE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.Message.get_int64()=paramiko.Message-class.html#get_int64"><a title="paramiko.Message.get_int64" class="py-name" href="#" onclick="return doclink('link-14', 'get_int64', 'link-14');">get_int64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_UIDGID" class="py-name" href="#" onclick="return doclink('link-15', 'FLAG_UIDGID', 'link-6');">FLAG_UIDGID</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-16', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-17', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_PERMISSIONS" class="py-name" href="#" onclick="return doclink('link-18', 'FLAG_PERMISSIONS', 'link-7');">FLAG_PERMISSIONS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-19', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_AMTIME" class="py-name" href="#" onclick="return doclink('link-20', 'FLAG_AMTIME', 'link-8');">FLAG_AMTIME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-21', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-22', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_EXTENDED" class="py-name" href="#" onclick="return doclink('link-23', 'FLAG_EXTENDED', 'link-9');">FLAG_EXTENDED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-24', 'get_int', 'link-12');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">count</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attr</tt><tt class="py-op">[</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-25', 'get_string', 'link-25');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-26', 'get_string', 'link-25');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes._pack"></a><div id="SFTPAttributes._pack-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="SFTPAttributes._pack-toggle" onclick="return toggle('SFTPAttributes._pack');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#_pack">_pack</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes._pack-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes._pack-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_SIZE" class="py-name" href="#" onclick="return doclink('link-27', 'FLAG_SIZE', 'link-5');">FLAG_SIZE</a></tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_UIDGID" class="py-name" href="#" onclick="return doclink('link-28', 'FLAG_UIDGID', 'link-6');">FLAG_UIDGID</a></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_PERMISSIONS" class="py-name" href="#" onclick="return doclink('link-29', 'FLAG_PERMISSIONS', 'link-7');">FLAG_PERMISSIONS</a></tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_AMTIME" class="py-name" href="#" onclick="return doclink('link-30', 'FLAG_AMTIME', 'link-8');">FLAG_AMTIME</a></tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_EXTENDED" class="py-name" href="#" onclick="return doclink('link-31', 'FLAG_EXTENDED', 'link-9');">FLAG_EXTENDED</a></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-32', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_SIZE" class="py-name" href="#" onclick="return doclink('link-33', 'FLAG_SIZE', 'link-5');">FLAG_SIZE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method paramiko.Message.add_int64()=paramiko.Message-class.html#add_int64"><a title="paramiko.Message.add_int64" class="py-name" href="#" onclick="return doclink('link-34', 'add_int64', 'link-34');">add_int64</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_UIDGID" class="py-name" href="#" onclick="return doclink('link-35', 'FLAG_UIDGID', 'link-6');">FLAG_UIDGID</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-36', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-37', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_PERMISSIONS" class="py-name" href="#" onclick="return doclink('link-38', 'FLAG_PERMISSIONS', 'link-7');">FLAG_PERMISSIONS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-39', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_AMTIME" class="py-name" href="#" onclick="return doclink('link-40', 'FLAG_AMTIME', 'link-8');">FLAG_AMTIME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-comment"># throw away any fractional seconds</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-41', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-42', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="paramiko.SFTPAttributes.FLAG_EXTENDED" class="py-name" href="#" onclick="return doclink('link-43', 'FLAG_EXTENDED', 'link-9');">FLAG_EXTENDED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-44', 'add_int', 'link-32');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-45', 'add_string', 'link-45');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-46', 'add_string', 'link-45');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes._debug_str"></a><div id="SFTPAttributes._debug_str-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="SFTPAttributes._debug_str-toggle" onclick="return toggle('SFTPAttributes._debug_str');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#_debug_str">_debug_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes._debug_str-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes._debug_str-expanded"><a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">'[ '</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'size=%d '</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'uid=%d gid=%d '</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'mode='</tt> <tt class="py-op">+</tt> <tt class="py-name">oct</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'atime=%d mtime=%d '</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt><tt class="py-op">)</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'"%s"=%r '</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">']'</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes._rwx"></a><div id="SFTPAttributes._rwx-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="SFTPAttributes._rwx-toggle" onclick="return toggle('SFTPAttributes._rwx');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#_rwx">_rwx</a><tt class="py-op">(</tt><tt class="py-param">n</tt><tt class="py-op">,</tt> <tt class="py-param">suid</tt><tt class="py-op">,</tt> <tt class="py-param">sticky</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes._rwx-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes._rwx-expanded"><a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">suid</tt><tt class="py-op">:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">suid</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">'-r'</tt><tt class="py-op">[</tt><tt class="py-name">n</tt> <tt class="py-op">&gt;&gt;</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">'-w'</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">&gt;&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">sticky</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'-xTt'</tt><tt class="py-op">[</tt><tt class="py-name">suid</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'-xSs'</tt><tt class="py-op">[</tt><tt class="py-name">suid</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">_rwx</tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt class="py-name">_rwx</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> </tt>
-<a name="SFTPAttributes.__str__"></a><div id="SFTPAttributes.__str__-def"><a name="L177"></a><tt class="py-lineno">177</tt> <a class="py-toggle" href="#" id="SFTPAttributes.__str__-toggle" onclick="return toggle('SFTPAttributes.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_attr.SFTPAttributes-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPAttributes.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPAttributes.__str__-expanded"><a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-docstring">"create a unix-style long description of the file (like ls -l)"</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">kind</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-47', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFMT</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-48" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-48', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFIFO</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'p'</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-49" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-49', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFCHR</tt><tt class="py-op">:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'c'</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-50" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-50', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFDIR</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'d'</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-51" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-51', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFBLK</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'b'</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-52" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-52', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFREG</tt><tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'-'</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-53" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-53', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFLNK</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'l'</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt id="link-54" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-54', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_IFSOCK</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'s'</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'?'</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rwx</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0700</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;&gt;</tt> <tt class="py-number">6</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">&amp;</tt> <tt id="link-55" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-55', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_ISUID</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rwx</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">070</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;&gt;</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">&amp;</tt> <tt id="link-56" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-56', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_ISGID</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rwx</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">&amp;</tt> <tt id="link-57" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-57', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_ISVTX</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">ks</tt> <tt class="py-op">=</tt> <tt class="py-string">'?---------'</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-comment"># compute display date</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-op">==</tt> <tt class="py-number">0xffffffffL</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-comment"># shouldn't really happen</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-name">datestr</tt> <tt class="py-op">=</tt> <tt class="py-string">'(unknown date)'</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">abs</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">15552000</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-comment"># (15552000 = 6 months)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-name">datestr</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%d %b %Y'</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">localtime</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">datestr</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%d %b %H:%M'</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">localtime</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'filename'</tt><tt class="py-op">,</tt> <tt class="py-string">'?'</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-comment"># not all servers support uid/gid</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">uid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">gid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">uid</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">uid</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">gid</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">gid</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%s 1 %-8d %-8d %8d %-12s %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">ks</tt><tt class="py-op">,</tt> <tt class="py-name">uid</tt><tt class="py-op">,</tt> <tt class="py-name">gid</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt><tt class="py-op">,</tt> <tt class="py-name">datestr</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_client-module.html b/docs/paramiko.sftp_client-module.html
deleted file mode 100644
index 36ac458..0000000
--- a/docs/paramiko.sftp_client-module.html
+++ /dev/null
@@ -1,907 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_client</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_client
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_client-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp_client</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp_client-pysrc.html">source&nbsp;code</a></span></p>
-<p>Client-mode SFTP support.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_client-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_client-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_client-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_client-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_client-pysrc.html b/docs/paramiko.sftp_client-pysrc.html
deleted file mode 100644
index f55736a..0000000
--- a/docs/paramiko.sftp_client-pysrc.html
+++ /dev/null
@@ -1,1602 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_client</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_client
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_client-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp_client-module.html" onclick="show_private();">Module paramiko.sftp_client</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Client-mode SFTP support.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">binascii</tt> <tt class="py-keyword">import</tt> <tt class="py-name">hexlify</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">errno</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Method paramiko.SFTPClient.stat()=paramiko.SFTPClient-class.html#stat,Method paramiko.SFTPFile.stat()=paramiko.SFTPFile-class.html#stat,Method paramiko.SFTPHandle.stat()=paramiko.SFTPHandle-class.html#stat,Method paramiko.SFTPServerInterface.stat()=paramiko.SFTPServerInterface-class.html#stat"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-0', 'stat', 'link-0');">stat</a></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">weakref</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-1', 'paramiko', 'link-1');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-2', 'sftp', 'link-2');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-3', 'paramiko', 'link-1');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module paramiko.sftp_attr=paramiko.sftp_attr-module.html"><a title="paramiko.sftp_attr" class="py-name" href="#" onclick="return doclink('link-4', 'sftp_attr', 'link-4');">sftp_attr</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class paramiko.SFTPAttributes=paramiko.SFTPAttributes-class.html"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-5', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-6', 'paramiko', 'link-1');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-7', 'ssh_exception', 'link-7');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-8', 'SSHException', 'link-8');">SSHException</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-9', 'paramiko', 'link-1');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Module paramiko.sftp_file=paramiko.sftp_file-module.html"><a title="paramiko.sftp_file" class="py-name" href="#" onclick="return doclink('link-10', 'sftp_file', 'link-10');">sftp_file</a></tt> <tt class="py-keyword">import</tt> <tt id="link-11" class="py-name" targets="Class paramiko.SFTPFile=paramiko.SFTPFile-class.html"><a title="paramiko.SFTPFile" class="py-name" href="#" onclick="return doclink('link-11', 'SFTPFile', 'link-11');">SFTPFile</a></tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
-<a name="_to_unicode"></a><div id="_to_unicode-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="_to_unicode-toggle" onclick="return toggle('_to_unicode');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client-module.html#_to_unicode">_to_unicode</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_to_unicode-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_to_unicode-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> decode a string as ascii or utf8 if possible (as required by the sftp</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> protocol). if neither works, just return a byte string because the server</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> probably doesn't know the filename's encoding.</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method paramiko.ber.BER.encode()=paramiko.ber.BER-class.html#encode"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-12', 'encode', 'link-12');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'ascii'</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.ber.BER.decode()=paramiko.ber.BER-class.html#decode"><a title="paramiko.ber.BER.decode" class="py-name" href="#" onclick="return doclink('link-13', 'decode', 'link-13');">decode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">s</tt> </tt>
-</div><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient"></a><div id="SFTPClient-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="SFTPClient-toggle" onclick="return toggle('SFTPClient');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html">SFTPClient</a> <tt class="py-op">(</tt><tt class="py-base-class">BaseSFTP</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPClient-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> SFTP client object. C{SFTPClient} is used to open an sftp session across</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> an open ssh L{Transport} and do remote file operations.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.__init__"></a><div id="SFTPClient.__init__-def"><a name="L58"></a><tt class="py-lineno"> 58</tt> <a class="py-toggle" href="#" id="SFTPClient.__init__-toggle" onclick="return toggle('SFTPClient.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.__init__-expanded"><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> Create an SFTP client from an existing L{Channel}. The channel</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> should already have requested the C{"sftp"} subsystem.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> An alternate way to create an SFTP client context is by using</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> L{from_transport}.</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> @param sock: an open L{Channel} using the C{"sftp"} subsystem</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> @type sock: L{Channel}</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if there's an exception while negotiating</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> sftp</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">BaseSFTP</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-14', '__init__', 'link-14');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_number</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-comment"># lock for request_number</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># request # -&gt; SFTPFile</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expecting</tt> <tt class="py-op">=</tt> <tt class="py-name">weakref</tt><tt class="py-op">.</tt><tt class="py-name">WeakValueDictionary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">sock</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt id="link-15" class="py-name" targets="Class paramiko.Channel=paramiko.Channel-class.html"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-15', 'Channel', 'link-15');">Channel</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-comment"># override default logger</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-16" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-16', 'transport', 'link-16');">transport</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method paramiko.Channel.get_transport()=paramiko.Channel-class.html#get_transport,Method paramiko.SSHClient.get_transport()=paramiko.SSHClient-class.html#get_transport"><a title="paramiko.Channel.get_transport
-paramiko.SSHClient.get_transport" class="py-name" href="#" onclick="return doclink('link-17', 'get_transport', 'link-17');">get_transport</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Class paramiko.logging22.logger=paramiko.logging22.logger-class.html"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-18', 'logger', 'link-18');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-19', 'util', 'link-19');">util</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Function paramiko.util.get_logger()=paramiko.util-module.html#get_logger"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-20', 'get_logger', 'link-20');">get_logger</a></tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-21', 'transport', 'link-16');">transport</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method paramiko.Transport.get_log_channel()=paramiko.Transport-class.html#get_log_channel"><a title="paramiko.Transport.get_log_channel" class="py-name" href="#" onclick="return doclink('link-22', 'get_log_channel', 'link-22');">get_log_channel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'.sftp'</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-23', 'transport', 'link-16');">transport</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method paramiko.Transport.get_hexdump()=paramiko.Transport-class.html#get_hexdump"><a title="paramiko.Transport.get_hexdump" class="py-name" href="#" onclick="return doclink('link-24', 'get_hexdump', 'link-24');">get_hexdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">server_version</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_version</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-25" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-25', 'SSHException', 'link-8');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'EOF during negotiation'</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name" targets="Variable paramiko.auth_handler.INFO=paramiko.auth_handler-module.html#INFO,Variable paramiko.channel.INFO=paramiko.channel-module.html#INFO,Variable paramiko.client.INFO=paramiko.client-module.html#INFO,Variable paramiko.common.INFO=paramiko.common-module.html#INFO,Variable paramiko.dsskey.INFO=paramiko.dsskey-module.html#INFO,Variable paramiko.hostkeys.INFO=paramiko.hostkeys-module.html#INFO,Variable paramiko.kex_gex.INFO=paramiko.kex_gex-module.html#INFO,Variable paramiko.kex_group1.INFO=paramiko.kex_group1-module.html#INFO,Variable paramiko.logging22.INFO=paramiko.logging22-module.html#INFO,Variable paramiko.packet.INFO=paramiko.packet-module.html#INFO,Variable paramiko.pkey.INFO=paramiko.pkey-module.html#INFO,Variable paramiko.rsakey.INFO=paramiko.rsakey-module.html#INFO,Variable paramiko.server.INFO=paramiko.server-module.html#INFO,Variable paramiko.sftp.INFO=paramiko.sftp-module.html#INFO,Variable paramiko.sftp_attr.INFO=paramiko.sftp_attr-module.html#INFO,Variable paramiko.sftp_client.INFO=paramiko.sftp_client-module.html#INFO,Variable paramiko.sftp_file.INFO=paramiko.sftp_file-module.html#INFO,Variable paramiko.sftp_handle.INFO=paramiko.sftp_handle-module.html#INFO,Variable paramiko.sftp_server.INFO=paramiko.sftp_server-module.html#INFO,Variable paramiko.sftp_si.INFO=paramiko.sftp_si-module.html#INFO,Variable paramiko.transport.INFO=paramiko.transport-module.html#INFO,Variable paramiko.util.INFO=paramiko.util-module.html#INFO"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-26', 'INFO', 'link-26');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Opened sftp connection (server version %d)'</tt> <tt class="py-op">%</tt> <tt class="py-name">server_version</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.from_transport"></a><div id="SFTPClient.from_transport-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="SFTPClient.from_transport-toggle" onclick="return toggle('SFTPClient.from_transport');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#from_transport">from_transport</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.from_transport-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.from_transport-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> Create an SFTP client channel from an open L{Transport}.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> @param t: an open L{Transport} which is already authenticated</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> @type t: L{Transport}</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new L{SFTPClient} object, referring to an sftp session</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> (channel) across the transport</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPClient}</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method paramiko.Transport.open_session()=paramiko.Transport-class.html#open_session"><a title="paramiko.Transport.open_session" class="py-name" href="#" onclick="return doclink('link-27', 'open_session', 'link-27');">open_session</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chan</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method paramiko.Channel.invoke_subsystem()=paramiko.Channel-class.html#invoke_subsystem"><a title="paramiko.Channel.invoke_subsystem" class="py-name" href="#" onclick="return doclink('link-28', 'invoke_subsystem', 'link-28');">invoke_subsystem</a></tt><tt class="py-op">(</tt><tt class="py-string">'sftp'</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-name">chan</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt id="link-29" class="py-name" targets="Class Method paramiko.SFTPClient.from_transport()=paramiko.SFTPClient-class.html#from_transport"><a title="paramiko.SFTPClient.from_transport" class="py-name" href="#" onclick="return doclink('link-29', 'from_transport', 'link-29');">from_transport</a></tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="paramiko.SFTPClient.from_transport" class="py-name" href="#" onclick="return doclink('link-30', 'from_transport', 'link-29');">from_transport</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._log"></a><div id="SFTPClient._log-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="SFTPClient._log-toggle" onclick="return toggle('SFTPClient._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._log-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msg</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name" targets="Class paramiko.SFTPClient=paramiko.SFTPClient-class.html"><a title="paramiko.SFTPClient" class="py-name" href="#" onclick="return doclink('link-31', 'SFTPClient', 'link-31');">SFTPClient</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-string">"[chan %s] "</tt> <tt class="py-op">+</tt> <tt class="py-name">m</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-32', 'get_name', 'link-32');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="paramiko.SFTPClient" class="py-name" href="#" onclick="return doclink('link-33', 'SFTPClient', 'link-31');">SFTPClient</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-string">"[chan %s] "</tt> <tt class="py-op">+</tt> <tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-34', 'get_name', 'link-32');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.close"></a><div id="SFTPClient.close-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="SFTPClient.close-toggle" onclick="return toggle('SFTPClient.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.close-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> Close the SFTP session and its underlying channel.</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-35', 'INFO', 'link-26');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'sftp session closed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-36', 'close', 'link-36');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.get_channel"></a><div id="SFTPClient.get_channel-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="SFTPClient.get_channel-toggle" onclick="return toggle('SFTPClient.get_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#get_channel">get_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.get_channel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.get_channel-expanded"><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> Return the underlying L{Channel} object for this SFTP session. This</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> might be useful for doing things like setting a timeout on the channel.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> @return: the SSH channel</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Channel}</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.7.1</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt> </tt>
-</div><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.listdir"></a><div id="SFTPClient.listdir-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="SFTPClient.listdir-toggle" onclick="return toggle('SFTPClient.listdir');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#listdir">listdir</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">=</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.listdir-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.listdir-expanded"><a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> Return a list containing the names of the entries in the given C{path}.</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> The list is in arbitrary order. It does not include the special</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> entries C{'.'} and C{'..'} even if they are present in the folder.</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> This method is meant to mirror C{os.listdir} as closely as possible.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> For a list of full L{SFTPAttributes} objects, see L{listdir_attr}.</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path to list (defaults to C{'.'})</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of filenames</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list of str</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method paramiko.SFTPClient.listdir_attr()=paramiko.SFTPClient-class.html#listdir_attr"><a title="paramiko.SFTPClient.listdir_attr" class="py-name" href="#" onclick="return doclink('link-37', 'listdir_attr', 'link-37');">listdir_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.listdir_attr"></a><div id="SFTPClient.listdir_attr-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="SFTPClient.listdir_attr-toggle" onclick="return toggle('SFTPClient.listdir_attr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#listdir_attr">listdir_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">=</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.listdir_attr-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.listdir_attr-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> Return a list containing L{SFTPAttributes} objects corresponding to</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> files in the given C{path}. The list is in arbitrary order. It does</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> not include the special entries C{'.'} and C{'..'} even if they are</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> present in the folder.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> The returned L{SFTPAttributes} objects will each have an additional</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> field: C{longname}, which may contain a formatted string of the file's</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> attributes, in unix format. The content of this string will probably</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> depend on the SFTP server implementation.</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path to list (defaults to C{'.'})</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of attributes</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list of L{SFTPAttributes}</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.2</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-38" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-38', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'listdir(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-39" class="py-name" targets="Variable paramiko.sftp.CMD_OPENDIR=paramiko.sftp-module.html#CMD_OPENDIR,Variable paramiko.sftp_attr.CMD_OPENDIR=paramiko.sftp_attr-module.html#CMD_OPENDIR,Variable paramiko.sftp_client.CMD_OPENDIR=paramiko.sftp_client-module.html#CMD_OPENDIR,Variable paramiko.sftp_file.CMD_OPENDIR=paramiko.sftp_file-module.html#CMD_OPENDIR,Variable paramiko.sftp_handle.CMD_OPENDIR=paramiko.sftp_handle-module.html#CMD_OPENDIR,Variable paramiko.sftp_server.CMD_OPENDIR=paramiko.sftp_server-module.html#CMD_OPENDIR,Variable paramiko.sftp_si.CMD_OPENDIR=paramiko.sftp_si-module.html#CMD_OPENDIR"><a title="paramiko.sftp.CMD_OPENDIR
-paramiko.sftp_attr.CMD_OPENDIR
-paramiko.sftp_client.CMD_OPENDIR
-paramiko.sftp_file.CMD_OPENDIR
-paramiko.sftp_handle.CMD_OPENDIR
-paramiko.sftp_server.CMD_OPENDIR
-paramiko.sftp_si.CMD_OPENDIR" class="py-name" href="#" onclick="return doclink('link-39', 'CMD_OPENDIR', 'link-39');">CMD_OPENDIR</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-40" class="py-name" targets="Variable paramiko.sftp.CMD_HANDLE=paramiko.sftp-module.html#CMD_HANDLE,Variable paramiko.sftp_attr.CMD_HANDLE=paramiko.sftp_attr-module.html#CMD_HANDLE,Variable paramiko.sftp_client.CMD_HANDLE=paramiko.sftp_client-module.html#CMD_HANDLE,Variable paramiko.sftp_file.CMD_HANDLE=paramiko.sftp_file-module.html#CMD_HANDLE,Variable paramiko.sftp_handle.CMD_HANDLE=paramiko.sftp_handle-module.html#CMD_HANDLE,Variable paramiko.sftp_server.CMD_HANDLE=paramiko.sftp_server-module.html#CMD_HANDLE,Variable paramiko.sftp_si.CMD_HANDLE=paramiko.sftp_si-module.html#CMD_HANDLE"><a title="paramiko.sftp.CMD_HANDLE
-paramiko.sftp_attr.CMD_HANDLE
-paramiko.sftp_client.CMD_HANDLE
-paramiko.sftp_file.CMD_HANDLE
-paramiko.sftp_handle.CMD_HANDLE
-paramiko.sftp_server.CMD_HANDLE
-paramiko.sftp_si.CMD_HANDLE" class="py-name" href="#" onclick="return doclink('link-40', 'CMD_HANDLE', 'link-40');">CMD_HANDLE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-41" class="py-name" targets="Class paramiko.SFTPError=paramiko.SFTPError-class.html"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-41', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-42', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">filelist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name" targets="Variable paramiko.sftp.CMD_READDIR=paramiko.sftp-module.html#CMD_READDIR,Variable paramiko.sftp_attr.CMD_READDIR=paramiko.sftp_attr-module.html#CMD_READDIR,Variable paramiko.sftp_client.CMD_READDIR=paramiko.sftp_client-module.html#CMD_READDIR,Variable paramiko.sftp_file.CMD_READDIR=paramiko.sftp_file-module.html#CMD_READDIR,Variable paramiko.sftp_handle.CMD_READDIR=paramiko.sftp_handle-module.html#CMD_READDIR,Variable paramiko.sftp_server.CMD_READDIR=paramiko.sftp_server-module.html#CMD_READDIR,Variable paramiko.sftp_si.CMD_READDIR=paramiko.sftp_si-module.html#CMD_READDIR"><a title="paramiko.sftp.CMD_READDIR
-paramiko.sftp_attr.CMD_READDIR
-paramiko.sftp_client.CMD_READDIR
-paramiko.sftp_file.CMD_READDIR
-paramiko.sftp_handle.CMD_READDIR
-paramiko.sftp_server.CMD_READDIR
-paramiko.sftp_si.CMD_READDIR" class="py-name" href="#" onclick="return doclink('link-43', 'CMD_READDIR', 'link-43');">CMD_READDIR</a></tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-comment"># done with handle</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-44" class="py-name" targets="Variable paramiko.sftp.CMD_NAME=paramiko.sftp-module.html#CMD_NAME,Variable paramiko.sftp_attr.CMD_NAME=paramiko.sftp_attr-module.html#CMD_NAME,Variable paramiko.sftp_client.CMD_NAME=paramiko.sftp_client-module.html#CMD_NAME,Variable paramiko.sftp_file.CMD_NAME=paramiko.sftp_file-module.html#CMD_NAME,Variable paramiko.sftp_handle.CMD_NAME=paramiko.sftp_handle-module.html#CMD_NAME,Variable paramiko.sftp_server.CMD_NAME=paramiko.sftp_server-module.html#CMD_NAME,Variable paramiko.sftp_si.CMD_NAME=paramiko.sftp_si-module.html#CMD_NAME"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-44', 'CMD_NAME', 'link-44');">CMD_NAME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-45" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-45', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected name response'</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-46', 'get_int', 'link-46');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">count</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">_to_unicode</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-47', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-name">longname</tt> <tt class="py-op">=</tt> <tt class="py-name">_to_unicode</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-48', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-49', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">longname</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt> <tt class="py-op">!=</tt> <tt class="py-string">'.'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt> <tt class="py-op">!=</tt> <tt class="py-string">'..'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">filelist</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-50" class="py-name" targets="Variable paramiko.sftp.CMD_CLOSE=paramiko.sftp-module.html#CMD_CLOSE,Variable paramiko.sftp_attr.CMD_CLOSE=paramiko.sftp_attr-module.html#CMD_CLOSE,Variable paramiko.sftp_client.CMD_CLOSE=paramiko.sftp_client-module.html#CMD_CLOSE,Variable paramiko.sftp_file.CMD_CLOSE=paramiko.sftp_file-module.html#CMD_CLOSE,Variable paramiko.sftp_handle.CMD_CLOSE=paramiko.sftp_handle-module.html#CMD_CLOSE,Variable paramiko.sftp_server.CMD_CLOSE=paramiko.sftp_server-module.html#CMD_CLOSE,Variable paramiko.sftp_si.CMD_CLOSE=paramiko.sftp_si-module.html#CMD_CLOSE"><a title="paramiko.sftp.CMD_CLOSE
-paramiko.sftp_attr.CMD_CLOSE
-paramiko.sftp_client.CMD_CLOSE
-paramiko.sftp_file.CMD_CLOSE
-paramiko.sftp_handle.CMD_CLOSE
-paramiko.sftp_server.CMD_CLOSE
-paramiko.sftp_si.CMD_CLOSE" class="py-name" href="#" onclick="return doclink('link-50', 'CMD_CLOSE', 'link-50');">CMD_CLOSE</a></tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">filelist</tt> </tt>
-</div><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.open"></a><div id="SFTPClient.open-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="SFTPClient.open-toggle" onclick="return toggle('SFTPClient.open');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#open">open</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-param">bufsize</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.open-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.open-expanded"><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> Open a file on the remote server. The arguments are the same as for</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> python's built-in C{file} (aka C{open}). A file-like object is</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> returned, which closely mimics the behavior of a normal python file</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> object.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"> The mode indicates how the file is to be opened: C{'r'} for reading,</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"> C{'w'} for writing (truncating an existing file), C{'a'} for appending,</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> C{'r+'} for reading/writing, C{'w+'} for reading/writing (truncating an</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> existing file), C{'a+'} for reading/appending. The python C{'b'} flag</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> is ignored, since SSH treats all files as binary. The C{'U'} flag is</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> supported in a compatible way.</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> Since 1.5.2, an C{'x'} flag indicates that the operation should only</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> succeed if the file was created and did not previously exist. This has</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> no direct mapping to python's file flags, but is commonly known as the</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> C{O_EXCL} flag in posix.</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> The file will be buffered in standard python style by default, but</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring"> can be altered with the C{bufsize} parameter. C{0} turns off</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"> buffering, C{1} uses line buffering, and any number greater than 1</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> (C{&gt;1}) uses that specific buffer size.</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to open</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> @param mode: mode (python-style) to open in</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> @type mode: str</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> @param bufsize: desired buffering (-1 = default buffer size)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> @type bufsize: int</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> @return: a file object representing the open file</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: SFTPFile</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the file could not be opened.</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-51" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-51', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'open(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">imode</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'r'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-string">'+'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">imode</tt> <tt class="py-op">|=</tt> <tt id="link-52" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_READ=paramiko.sftp-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_attr.SFTP_FLAG_READ=paramiko.sftp_attr-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_client.SFTP_FLAG_READ=paramiko.sftp_client-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_file.SFTP_FLAG_READ=paramiko.sftp_file-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_handle.SFTP_FLAG_READ=paramiko.sftp_handle-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_server.SFTP_FLAG_READ=paramiko.sftp_server-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_si.SFTP_FLAG_READ=paramiko.sftp_si-module.html#SFTP_FLAG_READ"><a title="paramiko.sftp.SFTP_FLAG_READ
-paramiko.sftp_attr.SFTP_FLAG_READ
-paramiko.sftp_client.SFTP_FLAG_READ
-paramiko.sftp_file.SFTP_FLAG_READ
-paramiko.sftp_handle.SFTP_FLAG_READ
-paramiko.sftp_server.SFTP_FLAG_READ
-paramiko.sftp_si.SFTP_FLAG_READ" class="py-name" href="#" onclick="return doclink('link-52', 'SFTP_FLAG_READ', 'link-52');">SFTP_FLAG_READ</a></tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'w'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-string">'+'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-string">'a'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">imode</tt> <tt class="py-op">|=</tt> <tt id="link-53" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_WRITE=paramiko.sftp-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_attr.SFTP_FLAG_WRITE=paramiko.sftp_attr-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_client.SFTP_FLAG_WRITE=paramiko.sftp_client-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_file.SFTP_FLAG_WRITE=paramiko.sftp_file-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_handle.SFTP_FLAG_WRITE=paramiko.sftp_handle-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_server.SFTP_FLAG_WRITE=paramiko.sftp_server-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_si.SFTP_FLAG_WRITE=paramiko.sftp_si-module.html#SFTP_FLAG_WRITE"><a title="paramiko.sftp.SFTP_FLAG_WRITE
-paramiko.sftp_attr.SFTP_FLAG_WRITE
-paramiko.sftp_client.SFTP_FLAG_WRITE
-paramiko.sftp_file.SFTP_FLAG_WRITE
-paramiko.sftp_handle.SFTP_FLAG_WRITE
-paramiko.sftp_server.SFTP_FLAG_WRITE
-paramiko.sftp_si.SFTP_FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-53', 'SFTP_FLAG_WRITE', 'link-53');">SFTP_FLAG_WRITE</a></tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'w'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">imode</tt> <tt class="py-op">|=</tt> <tt id="link-54" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_CREATE=paramiko.sftp-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_attr.SFTP_FLAG_CREATE=paramiko.sftp_attr-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_client.SFTP_FLAG_CREATE=paramiko.sftp_client-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_file.SFTP_FLAG_CREATE=paramiko.sftp_file-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_handle.SFTP_FLAG_CREATE=paramiko.sftp_handle-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_server.SFTP_FLAG_CREATE=paramiko.sftp_server-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_si.SFTP_FLAG_CREATE=paramiko.sftp_si-module.html#SFTP_FLAG_CREATE"><a title="paramiko.sftp.SFTP_FLAG_CREATE
-paramiko.sftp_attr.SFTP_FLAG_CREATE
-paramiko.sftp_client.SFTP_FLAG_CREATE
-paramiko.sftp_file.SFTP_FLAG_CREATE
-paramiko.sftp_handle.SFTP_FLAG_CREATE
-paramiko.sftp_server.SFTP_FLAG_CREATE
-paramiko.sftp_si.SFTP_FLAG_CREATE" class="py-name" href="#" onclick="return doclink('link-54', 'SFTP_FLAG_CREATE', 'link-54');">SFTP_FLAG_CREATE</a></tt> <tt class="py-op">|</tt> <tt id="link-55" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_TRUNC=paramiko.sftp-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_attr.SFTP_FLAG_TRUNC=paramiko.sftp_attr-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_client.SFTP_FLAG_TRUNC=paramiko.sftp_client-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_file.SFTP_FLAG_TRUNC=paramiko.sftp_file-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_handle.SFTP_FLAG_TRUNC=paramiko.sftp_handle-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_server.SFTP_FLAG_TRUNC=paramiko.sftp_server-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_si.SFTP_FLAG_TRUNC=paramiko.sftp_si-module.html#SFTP_FLAG_TRUNC"><a title="paramiko.sftp.SFTP_FLAG_TRUNC
-paramiko.sftp_attr.SFTP_FLAG_TRUNC
-paramiko.sftp_client.SFTP_FLAG_TRUNC
-paramiko.sftp_file.SFTP_FLAG_TRUNC
-paramiko.sftp_handle.SFTP_FLAG_TRUNC
-paramiko.sftp_server.SFTP_FLAG_TRUNC
-paramiko.sftp_si.SFTP_FLAG_TRUNC" class="py-name" href="#" onclick="return doclink('link-55', 'SFTP_FLAG_TRUNC', 'link-55');">SFTP_FLAG_TRUNC</a></tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'a'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">imode</tt> <tt class="py-op">|=</tt> <tt id="link-56" class="py-name"><a title="paramiko.sftp.SFTP_FLAG_CREATE
-paramiko.sftp_attr.SFTP_FLAG_CREATE
-paramiko.sftp_client.SFTP_FLAG_CREATE
-paramiko.sftp_file.SFTP_FLAG_CREATE
-paramiko.sftp_handle.SFTP_FLAG_CREATE
-paramiko.sftp_server.SFTP_FLAG_CREATE
-paramiko.sftp_si.SFTP_FLAG_CREATE" class="py-name" href="#" onclick="return doclink('link-56', 'SFTP_FLAG_CREATE', 'link-54');">SFTP_FLAG_CREATE</a></tt> <tt class="py-op">|</tt> <tt id="link-57" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_APPEND=paramiko.sftp-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_attr.SFTP_FLAG_APPEND=paramiko.sftp_attr-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_client.SFTP_FLAG_APPEND=paramiko.sftp_client-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_file.SFTP_FLAG_APPEND=paramiko.sftp_file-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_handle.SFTP_FLAG_APPEND=paramiko.sftp_handle-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_server.SFTP_FLAG_APPEND=paramiko.sftp_server-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_si.SFTP_FLAG_APPEND=paramiko.sftp_si-module.html#SFTP_FLAG_APPEND"><a title="paramiko.sftp.SFTP_FLAG_APPEND
-paramiko.sftp_attr.SFTP_FLAG_APPEND
-paramiko.sftp_client.SFTP_FLAG_APPEND
-paramiko.sftp_file.SFTP_FLAG_APPEND
-paramiko.sftp_handle.SFTP_FLAG_APPEND
-paramiko.sftp_server.SFTP_FLAG_APPEND
-paramiko.sftp_si.SFTP_FLAG_APPEND" class="py-name" href="#" onclick="return doclink('link-57', 'SFTP_FLAG_APPEND', 'link-57');">SFTP_FLAG_APPEND</a></tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'x'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">imode</tt> <tt class="py-op">|=</tt> <tt id="link-58" class="py-name"><a title="paramiko.sftp.SFTP_FLAG_CREATE
-paramiko.sftp_attr.SFTP_FLAG_CREATE
-paramiko.sftp_client.SFTP_FLAG_CREATE
-paramiko.sftp_file.SFTP_FLAG_CREATE
-paramiko.sftp_handle.SFTP_FLAG_CREATE
-paramiko.sftp_server.SFTP_FLAG_CREATE
-paramiko.sftp_si.SFTP_FLAG_CREATE" class="py-name" href="#" onclick="return doclink('link-58', 'SFTP_FLAG_CREATE', 'link-54');">SFTP_FLAG_CREATE</a></tt> <tt class="py-op">|</tt> <tt id="link-59" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_EXCL=paramiko.sftp-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_attr.SFTP_FLAG_EXCL=paramiko.sftp_attr-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_client.SFTP_FLAG_EXCL=paramiko.sftp_client-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_file.SFTP_FLAG_EXCL=paramiko.sftp_file-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_handle.SFTP_FLAG_EXCL=paramiko.sftp_handle-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_server.SFTP_FLAG_EXCL=paramiko.sftp_server-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_si.SFTP_FLAG_EXCL=paramiko.sftp_si-module.html#SFTP_FLAG_EXCL"><a title="paramiko.sftp.SFTP_FLAG_EXCL
-paramiko.sftp_attr.SFTP_FLAG_EXCL
-paramiko.sftp_client.SFTP_FLAG_EXCL
-paramiko.sftp_file.SFTP_FLAG_EXCL
-paramiko.sftp_handle.SFTP_FLAG_EXCL
-paramiko.sftp_server.SFTP_FLAG_EXCL
-paramiko.sftp_si.SFTP_FLAG_EXCL" class="py-name" href="#" onclick="return doclink('link-59', 'SFTP_FLAG_EXCL', 'link-59');">SFTP_FLAG_EXCL</a></tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-name">attrblock</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-60', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-61" class="py-name" targets="Variable paramiko.sftp.CMD_OPEN=paramiko.sftp-module.html#CMD_OPEN,Variable paramiko.sftp_attr.CMD_OPEN=paramiko.sftp_attr-module.html#CMD_OPEN,Variable paramiko.sftp_client.CMD_OPEN=paramiko.sftp_client-module.html#CMD_OPEN,Variable paramiko.sftp_file.CMD_OPEN=paramiko.sftp_file-module.html#CMD_OPEN,Variable paramiko.sftp_handle.CMD_OPEN=paramiko.sftp_handle-module.html#CMD_OPEN,Variable paramiko.sftp_server.CMD_OPEN=paramiko.sftp_server-module.html#CMD_OPEN,Variable paramiko.sftp_si.CMD_OPEN=paramiko.sftp_si-module.html#CMD_OPEN"><a title="paramiko.sftp.CMD_OPEN
-paramiko.sftp_attr.CMD_OPEN
-paramiko.sftp_client.CMD_OPEN
-paramiko.sftp_file.CMD_OPEN
-paramiko.sftp_handle.CMD_OPEN
-paramiko.sftp_server.CMD_OPEN
-paramiko.sftp_si.CMD_OPEN" class="py-name" href="#" onclick="return doclink('link-61', 'CMD_OPEN', 'link-61');">CMD_OPEN</a></tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">imode</tt><tt class="py-op">,</tt> <tt class="py-name">attrblock</tt><tt class="py-op">)</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-62" class="py-name"><a title="paramiko.sftp.CMD_HANDLE
-paramiko.sftp_attr.CMD_HANDLE
-paramiko.sftp_client.CMD_HANDLE
-paramiko.sftp_file.CMD_HANDLE
-paramiko.sftp_handle.CMD_HANDLE
-paramiko.sftp_server.CMD_HANDLE
-paramiko.sftp_si.CMD_HANDLE" class="py-name" href="#" onclick="return doclink('link-62', 'CMD_HANDLE', 'link-40');">CMD_HANDLE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-63', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-64', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-65', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'open(%r, %r) -&gt; %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-66" class="py-name"><a title="paramiko.SFTPFile" class="py-name" href="#" onclick="return doclink('link-66', 'SFTPFile', 'link-11');">SFTPFile</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-comment"># python continues to vacillate about "open" vs "file"...</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt id="link-67" class="py-name" targets="Method paramiko.SFTPClient.file()=paramiko.SFTPClient-class.html#file,Module paramiko.file=paramiko.file-module.html"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-67', 'file', 'link-67');">file</a></tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-68', 'open', 'link-68');">open</a></tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.remove"></a><div id="SFTPClient.remove-def"><a name="L255"></a><tt class="py-lineno">255</tt> <a class="py-toggle" href="#" id="SFTPClient.remove-toggle" onclick="return toggle('SFTPClient.remove');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#remove">remove</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.remove-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.remove-expanded"><a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-docstring"> Remove the file at the given path. This only works on files; for</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> removing folders (directories), use L{rmdir}.</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path (absolute or relative) of the file to remove</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the path refers to a folder (directory)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-69', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'remove(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name" targets="Variable paramiko.sftp.CMD_REMOVE=paramiko.sftp-module.html#CMD_REMOVE,Variable paramiko.sftp_attr.CMD_REMOVE=paramiko.sftp_attr-module.html#CMD_REMOVE,Variable paramiko.sftp_client.CMD_REMOVE=paramiko.sftp_client-module.html#CMD_REMOVE,Variable paramiko.sftp_file.CMD_REMOVE=paramiko.sftp_file-module.html#CMD_REMOVE,Variable paramiko.sftp_handle.CMD_REMOVE=paramiko.sftp_handle-module.html#CMD_REMOVE,Variable paramiko.sftp_server.CMD_REMOVE=paramiko.sftp_server-module.html#CMD_REMOVE,Variable paramiko.sftp_si.CMD_REMOVE=paramiko.sftp_si-module.html#CMD_REMOVE"><a title="paramiko.sftp.CMD_REMOVE
-paramiko.sftp_attr.CMD_REMOVE
-paramiko.sftp_client.CMD_REMOVE
-paramiko.sftp_file.CMD_REMOVE
-paramiko.sftp_handle.CMD_REMOVE
-paramiko.sftp_server.CMD_REMOVE
-paramiko.sftp_si.CMD_REMOVE" class="py-name" href="#" onclick="return doclink('link-70', 'CMD_REMOVE', 'link-70');">CMD_REMOVE</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt id="link-71" class="py-name" targets="Method paramiko.SFTPClient.unlink()=paramiko.SFTPClient-class.html#unlink"><a title="paramiko.SFTPClient.unlink" class="py-name" href="#" onclick="return doclink('link-71', 'unlink', 'link-71');">unlink</a></tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name" targets="Method paramiko.SFTPServerInterface.remove()=paramiko.SFTPServerInterface-class.html#remove"><a title="paramiko.SFTPServerInterface.remove" class="py-name" href="#" onclick="return doclink('link-72', 'remove', 'link-72');">remove</a></tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.rename"></a><div id="SFTPClient.rename-def"><a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="SFTPClient.rename-toggle" onclick="return toggle('SFTPClient.rename');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#rename">rename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">oldpath</tt><tt class="py-op">,</tt> <tt class="py-param">newpath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.rename-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.rename-expanded"><a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> Rename a file or folder from C{oldpath} to C{newpath}.</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> @param oldpath: existing name of the file or folder</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> @type oldpath: str</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> @param newpath: new name for the file or folder</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> @type newpath: str</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if C{newpath} is a folder, or something else goes</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"><tt class="py-docstring"> wrong</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">oldpath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">oldpath</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">newpath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">newpath</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-73', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rename(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">oldpath</tt><tt class="py-op">,</tt> <tt class="py-name">newpath</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-74" class="py-name" targets="Variable paramiko.sftp.CMD_RENAME=paramiko.sftp-module.html#CMD_RENAME,Variable paramiko.sftp_attr.CMD_RENAME=paramiko.sftp_attr-module.html#CMD_RENAME,Variable paramiko.sftp_client.CMD_RENAME=paramiko.sftp_client-module.html#CMD_RENAME,Variable paramiko.sftp_file.CMD_RENAME=paramiko.sftp_file-module.html#CMD_RENAME,Variable paramiko.sftp_handle.CMD_RENAME=paramiko.sftp_handle-module.html#CMD_RENAME,Variable paramiko.sftp_server.CMD_RENAME=paramiko.sftp_server-module.html#CMD_RENAME,Variable paramiko.sftp_si.CMD_RENAME=paramiko.sftp_si-module.html#CMD_RENAME"><a title="paramiko.sftp.CMD_RENAME
-paramiko.sftp_attr.CMD_RENAME
-paramiko.sftp_client.CMD_RENAME
-paramiko.sftp_file.CMD_RENAME
-paramiko.sftp_handle.CMD_RENAME
-paramiko.sftp_server.CMD_RENAME
-paramiko.sftp_si.CMD_RENAME" class="py-name" href="#" onclick="return doclink('link-74', 'CMD_RENAME', 'link-74');">CMD_RENAME</a></tt><tt class="py-op">,</tt> <tt class="py-name">oldpath</tt><tt class="py-op">,</tt> <tt class="py-name">newpath</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.mkdir"></a><div id="SFTPClient.mkdir-def"><a name="L288"></a><tt class="py-lineno">288</tt> <a class="py-toggle" href="#" id="SFTPClient.mkdir-toggle" onclick="return toggle('SFTPClient.mkdir');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#mkdir">mkdir</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-number">0777</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.mkdir-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.mkdir-expanded"><a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"> Create a folder (directory) named C{path} with numeric mode C{mode}.</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"> The default mode is 0777 (octal). On some systems, mode is ignored.</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> Where it is used, the current umask value is first masked out.</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> @param path: name of the folder to create</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring"> @param mode: permissions (posix-style) for the newly-created folder</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring"> @type mode: int</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-75', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'mkdir(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-76', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-77" class="py-name" targets="Variable paramiko.sftp.CMD_MKDIR=paramiko.sftp-module.html#CMD_MKDIR,Variable paramiko.sftp_attr.CMD_MKDIR=paramiko.sftp_attr-module.html#CMD_MKDIR,Variable paramiko.sftp_client.CMD_MKDIR=paramiko.sftp_client-module.html#CMD_MKDIR,Variable paramiko.sftp_file.CMD_MKDIR=paramiko.sftp_file-module.html#CMD_MKDIR,Variable paramiko.sftp_handle.CMD_MKDIR=paramiko.sftp_handle-module.html#CMD_MKDIR,Variable paramiko.sftp_server.CMD_MKDIR=paramiko.sftp_server-module.html#CMD_MKDIR,Variable paramiko.sftp_si.CMD_MKDIR=paramiko.sftp_si-module.html#CMD_MKDIR"><a title="paramiko.sftp.CMD_MKDIR
-paramiko.sftp_attr.CMD_MKDIR
-paramiko.sftp_client.CMD_MKDIR
-paramiko.sftp_file.CMD_MKDIR
-paramiko.sftp_handle.CMD_MKDIR
-paramiko.sftp_server.CMD_MKDIR
-paramiko.sftp_si.CMD_MKDIR" class="py-name" href="#" onclick="return doclink('link-77', 'CMD_MKDIR', 'link-77');">CMD_MKDIR</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.rmdir"></a><div id="SFTPClient.rmdir-def"><a name="L305"></a><tt class="py-lineno">305</tt> <a class="py-toggle" href="#" id="SFTPClient.rmdir-toggle" onclick="return toggle('SFTPClient.rmdir');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#rmdir">rmdir</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.rmdir-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.rmdir-expanded"><a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-docstring"> Remove the folder named C{path}.</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-docstring"> @param path: name of the folder to remove</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-78" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-78', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rmdir(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-79" class="py-name" targets="Variable paramiko.sftp.CMD_RMDIR=paramiko.sftp-module.html#CMD_RMDIR,Variable paramiko.sftp_attr.CMD_RMDIR=paramiko.sftp_attr-module.html#CMD_RMDIR,Variable paramiko.sftp_client.CMD_RMDIR=paramiko.sftp_client-module.html#CMD_RMDIR,Variable paramiko.sftp_file.CMD_RMDIR=paramiko.sftp_file-module.html#CMD_RMDIR,Variable paramiko.sftp_handle.CMD_RMDIR=paramiko.sftp_handle-module.html#CMD_RMDIR,Variable paramiko.sftp_server.CMD_RMDIR=paramiko.sftp_server-module.html#CMD_RMDIR,Variable paramiko.sftp_si.CMD_RMDIR=paramiko.sftp_si-module.html#CMD_RMDIR"><a title="paramiko.sftp.CMD_RMDIR
-paramiko.sftp_attr.CMD_RMDIR
-paramiko.sftp_client.CMD_RMDIR
-paramiko.sftp_file.CMD_RMDIR
-paramiko.sftp_handle.CMD_RMDIR
-paramiko.sftp_server.CMD_RMDIR
-paramiko.sftp_si.CMD_RMDIR" class="py-name" href="#" onclick="return doclink('link-79', 'CMD_RMDIR', 'link-79');">CMD_RMDIR</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.stat"></a><div id="SFTPClient.stat-def"><a name="L316"></a><tt class="py-lineno">316</tt> <a class="py-toggle" href="#" id="SFTPClient.stat-toggle" onclick="return toggle('SFTPClient.stat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#stat">stat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.stat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.stat-expanded"><a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"><tt class="py-docstring"> Retrieve information about a file on the remote system. The return</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"><tt class="py-docstring"> value is an object whose attributes correspond to the attributes of</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"><tt class="py-docstring"> python's C{stat} structure as returned by C{os.stat}, except that it</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"><tt class="py-docstring"> contains fewer fields. An SFTP server may return as much or as little</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"><tt class="py-docstring"> info as it wants, so the results may vary from server to server.</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"><tt class="py-docstring"> Unlike a python C{stat} object, the result may not be accessed as a</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"><tt class="py-docstring"> tuple. This is mostly due to the author's slack factor.</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"><tt class="py-docstring"> The fields supported are: C{st_mode}, C{st_size}, C{st_uid}, C{st_gid},</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"><tt class="py-docstring"> C{st_atime}, and C{st_mtime}.</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the filename to stat</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"><tt class="py-docstring"> @return: an object containing attributes about the given file</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: SFTPAttributes</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-80', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'stat(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-81" class="py-name" targets="Variable paramiko.sftp.CMD_STAT=paramiko.sftp-module.html#CMD_STAT,Variable paramiko.sftp_attr.CMD_STAT=paramiko.sftp_attr-module.html#CMD_STAT,Variable paramiko.sftp_client.CMD_STAT=paramiko.sftp_client-module.html#CMD_STAT,Variable paramiko.sftp_file.CMD_STAT=paramiko.sftp_file-module.html#CMD_STAT,Variable paramiko.sftp_handle.CMD_STAT=paramiko.sftp_handle-module.html#CMD_STAT,Variable paramiko.sftp_server.CMD_STAT=paramiko.sftp_server-module.html#CMD_STAT,Variable paramiko.sftp_si.CMD_STAT=paramiko.sftp_si-module.html#CMD_STAT"><a title="paramiko.sftp.CMD_STAT
-paramiko.sftp_attr.CMD_STAT
-paramiko.sftp_client.CMD_STAT
-paramiko.sftp_file.CMD_STAT
-paramiko.sftp_handle.CMD_STAT
-paramiko.sftp_server.CMD_STAT
-paramiko.sftp_si.CMD_STAT" class="py-name" href="#" onclick="return doclink('link-81', 'CMD_STAT', 'link-81');">CMD_STAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-82" class="py-name" targets="Variable paramiko.sftp.CMD_ATTRS=paramiko.sftp-module.html#CMD_ATTRS,Variable paramiko.sftp_attr.CMD_ATTRS=paramiko.sftp_attr-module.html#CMD_ATTRS,Variable paramiko.sftp_client.CMD_ATTRS=paramiko.sftp_client-module.html#CMD_ATTRS,Variable paramiko.sftp_file.CMD_ATTRS=paramiko.sftp_file-module.html#CMD_ATTRS,Variable paramiko.sftp_handle.CMD_ATTRS=paramiko.sftp_handle-module.html#CMD_ATTRS,Variable paramiko.sftp_server.CMD_ATTRS=paramiko.sftp_server-module.html#CMD_ATTRS,Variable paramiko.sftp_si.CMD_ATTRS=paramiko.sftp_si-module.html#CMD_ATTRS"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-82', 'CMD_ATTRS', 'link-82');">CMD_ATTRS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-83" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-83', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected attributes'</tt><tt class="py-op">)</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-84" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-84', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.lstat"></a><div id="SFTPClient.lstat-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="SFTPClient.lstat-toggle" onclick="return toggle('SFTPClient.lstat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#lstat">lstat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.lstat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.lstat-expanded"><a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"><tt class="py-docstring"> Retrieve information about a file on the remote system, without</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"><tt class="py-docstring"> following symbolic links (shortcuts). This otherwise behaves exactly</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"><tt class="py-docstring"> the same as L{stat}.</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the filename to stat</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"><tt class="py-docstring"> @return: an object containing attributes about the given file</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: SFTPAttributes</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-85', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'lstat(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-86" class="py-name" targets="Variable paramiko.sftp.CMD_LSTAT=paramiko.sftp-module.html#CMD_LSTAT,Variable paramiko.sftp_attr.CMD_LSTAT=paramiko.sftp_attr-module.html#CMD_LSTAT,Variable paramiko.sftp_client.CMD_LSTAT=paramiko.sftp_client-module.html#CMD_LSTAT,Variable paramiko.sftp_file.CMD_LSTAT=paramiko.sftp_file-module.html#CMD_LSTAT,Variable paramiko.sftp_handle.CMD_LSTAT=paramiko.sftp_handle-module.html#CMD_LSTAT,Variable paramiko.sftp_server.CMD_LSTAT=paramiko.sftp_server-module.html#CMD_LSTAT,Variable paramiko.sftp_si.CMD_LSTAT=paramiko.sftp_si-module.html#CMD_LSTAT"><a title="paramiko.sftp.CMD_LSTAT
-paramiko.sftp_attr.CMD_LSTAT
-paramiko.sftp_client.CMD_LSTAT
-paramiko.sftp_file.CMD_LSTAT
-paramiko.sftp_handle.CMD_LSTAT
-paramiko.sftp_server.CMD_LSTAT
-paramiko.sftp_si.CMD_LSTAT" class="py-name" href="#" onclick="return doclink('link-86', 'CMD_LSTAT', 'link-86');">CMD_LSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-87" class="py-name"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-87', 'CMD_ATTRS', 'link-82');">CMD_ATTRS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-88" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-88', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected attributes'</tt><tt class="py-op">)</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-89" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-89', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.symlink"></a><div id="SFTPClient.symlink-def"><a name="L360"></a><tt class="py-lineno">360</tt> <a class="py-toggle" href="#" id="SFTPClient.symlink-toggle" onclick="return toggle('SFTPClient.symlink');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#symlink">symlink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">dest</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.symlink-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.symlink-expanded"><a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"><tt class="py-docstring"> Create a symbolic link (shortcut) of the C{source} path at</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"><tt class="py-docstring"> C{destination}.</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"><tt class="py-docstring"> @param source: path of the original file</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"><tt class="py-docstring"> @type source: str</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"><tt class="py-docstring"> @param dest: path of the newly created symlink</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"><tt class="py-docstring"> @type dest: str</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-name">dest</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-90', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'symlink(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">unicode</tt><tt class="py-op">:</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">source</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-91', 'encode', 'link-12');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-92" class="py-name" targets="Variable paramiko.sftp.CMD_SYMLINK=paramiko.sftp-module.html#CMD_SYMLINK,Variable paramiko.sftp_attr.CMD_SYMLINK=paramiko.sftp_attr-module.html#CMD_SYMLINK,Variable paramiko.sftp_client.CMD_SYMLINK=paramiko.sftp_client-module.html#CMD_SYMLINK,Variable paramiko.sftp_file.CMD_SYMLINK=paramiko.sftp_file-module.html#CMD_SYMLINK,Variable paramiko.sftp_handle.CMD_SYMLINK=paramiko.sftp_handle-module.html#CMD_SYMLINK,Variable paramiko.sftp_server.CMD_SYMLINK=paramiko.sftp_server-module.html#CMD_SYMLINK,Variable paramiko.sftp_si.CMD_SYMLINK=paramiko.sftp_si-module.html#CMD_SYMLINK"><a title="paramiko.sftp.CMD_SYMLINK
-paramiko.sftp_attr.CMD_SYMLINK
-paramiko.sftp_client.CMD_SYMLINK
-paramiko.sftp_file.CMD_SYMLINK
-paramiko.sftp_handle.CMD_SYMLINK
-paramiko.sftp_server.CMD_SYMLINK
-paramiko.sftp_si.CMD_SYMLINK" class="py-name" href="#" onclick="return doclink('link-92', 'CMD_SYMLINK', 'link-92');">CMD_SYMLINK</a></tt><tt class="py-op">,</tt> <tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.chmod"></a><div id="SFTPClient.chmod-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="SFTPClient.chmod-toggle" onclick="return toggle('SFTPClient.chmod');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#chmod">chmod</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.chmod-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.chmod-expanded"><a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"><tt class="py-docstring"> Change the mode (permissions) of a file. The permissions are</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"><tt class="py-docstring"> unix-style and identical to those used by python's C{os.chmod}</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"><tt class="py-docstring"> function.</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path of the file to change the permissions of</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"><tt class="py-docstring"> @param mode: new permissions</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"><tt class="py-docstring"> @type mode: int</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-93" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-93', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'chmod(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-94" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-94', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name" targets="Variable paramiko.sftp.CMD_SETSTAT=paramiko.sftp-module.html#CMD_SETSTAT,Variable paramiko.sftp_attr.CMD_SETSTAT=paramiko.sftp_attr-module.html#CMD_SETSTAT,Variable paramiko.sftp_client.CMD_SETSTAT=paramiko.sftp_client-module.html#CMD_SETSTAT,Variable paramiko.sftp_file.CMD_SETSTAT=paramiko.sftp_file-module.html#CMD_SETSTAT,Variable paramiko.sftp_handle.CMD_SETSTAT=paramiko.sftp_handle-module.html#CMD_SETSTAT,Variable paramiko.sftp_server.CMD_SETSTAT=paramiko.sftp_server-module.html#CMD_SETSTAT,Variable paramiko.sftp_si.CMD_SETSTAT=paramiko.sftp_si-module.html#CMD_SETSTAT"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-95', 'CMD_SETSTAT', 'link-95');">CMD_SETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.chown"></a><div id="SFTPClient.chown-def"><a name="L393"></a><tt class="py-lineno">393</tt> <a class="py-toggle" href="#" id="SFTPClient.chown-toggle" onclick="return toggle('SFTPClient.chown');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#chown">chown</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">uid</tt><tt class="py-op">,</tt> <tt class="py-param">gid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.chown-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.chown-expanded"><a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"><tt class="py-docstring"> Change the owner (C{uid}) and group (C{gid}) of a file. As with</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"><tt class="py-docstring"> python's C{os.chown} function, you must pass both arguments, so if you</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"><tt class="py-docstring"> only want to change one, use L{stat} first to retrieve the current</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"><tt class="py-docstring"> owner and group.</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path of the file to change the owner and group of</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"><tt class="py-docstring"> @param uid: new owner's uid</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"><tt class="py-docstring"> @type uid: int</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"><tt class="py-docstring"> @param gid: new group id</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"><tt class="py-docstring"> @type gid: int</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-96', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'chown(%r, %r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">uid</tt><tt class="py-op">,</tt> <tt class="py-name">gid</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-97" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-97', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-op">=</tt> <tt class="py-name">uid</tt><tt class="py-op">,</tt> <tt class="py-name">gid</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-98', 'CMD_SETSTAT', 'link-95');">CMD_SETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.utime"></a><div id="SFTPClient.utime-def"><a name="L413"></a><tt class="py-lineno">413</tt> <a class="py-toggle" href="#" id="SFTPClient.utime-toggle" onclick="return toggle('SFTPClient.utime');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#utime">utime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">times</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.utime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.utime-expanded"><a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"><tt class="py-docstring"> Set the access and modified times of the file specified by C{path}. If</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"><tt class="py-docstring"> C{times} is C{None}, then the file's access and modified times are set</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"><tt class="py-docstring"> to the current time. Otherwise, C{times} must be a 2-tuple of numbers,</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"><tt class="py-docstring"> of the form C{(atime, mtime)}, which is used to set the access and</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"><tt class="py-docstring"> modified times, respectively. This bizarre API is mimicked from python</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"><tt class="py-docstring"> for the sake of consistency -- I apologize.</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path of the file to modify</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"><tt class="py-docstring"> @param times: C{None} or a tuple of (access time, modified time) in</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"><tt class="py-docstring"> standard internet epoch time (seconds since 01 January 1970 GMT)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"><tt class="py-docstring"> @type times: tuple(int)</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">times</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt class="py-name">times</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-99" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-99', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'utime(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">times</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-100" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-100', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-op">=</tt> <tt class="py-name">times</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-101', 'CMD_SETSTAT', 'link-95');">CMD_SETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.truncate"></a><div id="SFTPClient.truncate-def"><a name="L436"></a><tt class="py-lineno">436</tt> <a class="py-toggle" href="#" id="SFTPClient.truncate-toggle" onclick="return toggle('SFTPClient.truncate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#truncate">truncate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.truncate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.truncate-expanded"><a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"><tt class="py-docstring"> Change the size of the file specified by C{path}. This usually extends</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"><tt class="py-docstring"> or shrinks the size of the file, just like the C{truncate()} method on</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"><tt class="py-docstring"> python file objects.</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path of the file to modify</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"><tt class="py-docstring"> @param size: the new size of the file</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"><tt class="py-docstring"> @type size: int or long</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-102" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-102', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'truncate(%r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-103', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-104" class="py-name"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-104', 'CMD_SETSTAT', 'link-95');">CMD_SETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.readlink"></a><div id="SFTPClient.readlink-def"><a name="L453"></a><tt class="py-lineno">453</tt> <a class="py-toggle" href="#" id="SFTPClient.readlink-toggle" onclick="return toggle('SFTPClient.readlink');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#readlink">readlink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.readlink-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.readlink-expanded"><a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"><tt class="py-docstring"> Return the target of a symbolic link (shortcut). You can use</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"><tt class="py-docstring"> L{symlink} to create these. The result may be either an absolute or</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"><tt class="py-docstring"> relative pathname.</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path of the symbolic link file</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"><tt class="py-docstring"> @return: target path</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-105" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-105', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'readlink(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-106" class="py-name" targets="Variable paramiko.sftp.CMD_READLINK=paramiko.sftp-module.html#CMD_READLINK,Variable paramiko.sftp_attr.CMD_READLINK=paramiko.sftp_attr-module.html#CMD_READLINK,Variable paramiko.sftp_client.CMD_READLINK=paramiko.sftp_client-module.html#CMD_READLINK,Variable paramiko.sftp_file.CMD_READLINK=paramiko.sftp_file-module.html#CMD_READLINK,Variable paramiko.sftp_handle.CMD_READLINK=paramiko.sftp_handle-module.html#CMD_READLINK,Variable paramiko.sftp_server.CMD_READLINK=paramiko.sftp_server-module.html#CMD_READLINK,Variable paramiko.sftp_si.CMD_READLINK=paramiko.sftp_si-module.html#CMD_READLINK"><a title="paramiko.sftp.CMD_READLINK
-paramiko.sftp_attr.CMD_READLINK
-paramiko.sftp_client.CMD_READLINK
-paramiko.sftp_file.CMD_READLINK
-paramiko.sftp_handle.CMD_READLINK
-paramiko.sftp_server.CMD_READLINK
-paramiko.sftp_si.CMD_READLINK" class="py-name" href="#" onclick="return doclink('link-106', 'CMD_READLINK', 'link-106');">CMD_READLINK</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-107" class="py-name"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-107', 'CMD_NAME', 'link-44');">CMD_NAME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-108" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-108', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected name response'</tt><tt class="py-op">)</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-109', 'get_int', 'link-46');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">count</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">count</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-110" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-110', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Readlink returned %d results'</tt> <tt class="py-op">%</tt> <tt class="py-name">count</tt><tt class="py-op">)</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_to_unicode</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-111', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.normalize"></a><div id="SFTPClient.normalize-def"><a name="L476"></a><tt class="py-lineno">476</tt> <a class="py-toggle" href="#" id="SFTPClient.normalize-toggle" onclick="return toggle('SFTPClient.normalize');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#normalize">normalize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.normalize-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.normalize-expanded"><a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"><tt class="py-docstring"> Return the normalized path (on the server) of a given path. This</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"><tt class="py-docstring"> can be used to quickly resolve symbolic links or determine what the</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"><tt class="py-docstring"> server is considering to be the "current folder" (by passing C{'.'}</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"><tt class="py-docstring"> as C{path}).</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path to be normalized</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"><tt class="py-docstring"> @return: normalized form of the given path</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the path can't be resolved on the server</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_adjust_cwd</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-112" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-112', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'normalize(%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name" targets="Variable paramiko.sftp.CMD_REALPATH=paramiko.sftp-module.html#CMD_REALPATH,Variable paramiko.sftp_attr.CMD_REALPATH=paramiko.sftp_attr-module.html#CMD_REALPATH,Variable paramiko.sftp_client.CMD_REALPATH=paramiko.sftp_client-module.html#CMD_REALPATH,Variable paramiko.sftp_file.CMD_REALPATH=paramiko.sftp_file-module.html#CMD_REALPATH,Variable paramiko.sftp_handle.CMD_REALPATH=paramiko.sftp_handle-module.html#CMD_REALPATH,Variable paramiko.sftp_server.CMD_REALPATH=paramiko.sftp_server-module.html#CMD_REALPATH,Variable paramiko.sftp_si.CMD_REALPATH=paramiko.sftp_si-module.html#CMD_REALPATH"><a title="paramiko.sftp.CMD_REALPATH
-paramiko.sftp_attr.CMD_REALPATH
-paramiko.sftp_client.CMD_REALPATH
-paramiko.sftp_file.CMD_REALPATH
-paramiko.sftp_handle.CMD_REALPATH
-paramiko.sftp_server.CMD_REALPATH
-paramiko.sftp_si.CMD_REALPATH" class="py-name" href="#" onclick="return doclink('link-113', 'CMD_REALPATH', 'link-113');">CMD_REALPATH</a></tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-114" class="py-name"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-114', 'CMD_NAME', 'link-44');">CMD_NAME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-115" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-115', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected name response'</tt><tt class="py-op">)</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-116', 'get_int', 'link-46');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">count</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-117" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-117', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Realpath returned %d results'</tt> <tt class="py-op">%</tt> <tt class="py-name">count</tt><tt class="py-op">)</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_to_unicode</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-118', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.chdir"></a><div id="SFTPClient.chdir-def"><a name="L500"></a><tt class="py-lineno">500</tt> <a class="py-toggle" href="#" id="SFTPClient.chdir-toggle" onclick="return toggle('SFTPClient.chdir');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#chdir">chdir</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.chdir-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.chdir-expanded"><a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt> <tt class="py-line"><tt class="py-docstring"> Change the "current directory" of this SFTP session. Since SFTP</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"><tt class="py-docstring"> doesn't really have the concept of a current working directory, this</tt> </tt>
-<a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"><tt class="py-docstring"> is emulated by paramiko. Once you use this method to set a working</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt> <tt class="py-line"><tt class="py-docstring"> directory, all operations on this SFTPClient object will be relative</tt> </tt>
-<a name="L506"></a><tt class="py-lineno">506</tt> <tt class="py-line"><tt class="py-docstring"> to that path. You can pass in C{None} to stop using a current working</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"><tt class="py-docstring"> directory.</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"><tt class="py-docstring"> @param path: new current working directory</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the requested path doesn't exist on the server</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">path</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-119" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-119', 'stat', 'link-0');">stat</a></tt><tt class="py-op">.</tt><tt class="py-name">S_ISDIR</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-120', 'stat', 'link-0');">stat</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-121" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-121', 'SFTPError', 'link-41');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">ENOTDIR</tt><tt class="py-op">,</tt> <tt class="py-string">"%s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">strerror</tt><tt class="py-op">(</tt><tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">ENOTDIR</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name" targets="Method paramiko.SFTPClient.normalize()=paramiko.SFTPClient-class.html#normalize"><a title="paramiko.SFTPClient.normalize" class="py-name" href="#" onclick="return doclink('link-122', 'normalize', 'link-122');">normalize</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-123', 'encode', 'link-12');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L522"></a><tt class="py-lineno">522</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.getcwd"></a><div id="SFTPClient.getcwd-def"><a name="L523"></a><tt class="py-lineno">523</tt> <a class="py-toggle" href="#" id="SFTPClient.getcwd-toggle" onclick="return toggle('SFTPClient.getcwd');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#getcwd">getcwd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.getcwd-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.getcwd-expanded"><a name="L524"></a><tt class="py-lineno">524</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt> <tt class="py-line"><tt class="py-docstring"> Return the "current working directory" for this SFTP session, as</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt> <tt class="py-line"><tt class="py-docstring"> emulated by paramiko. If no directory has been set with L{chdir},</tt> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt> <tt class="py-line"><tt class="py-docstring"> this method will return C{None}.</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt> <tt class="py-line"><tt class="py-docstring"> @return: the current working directory on the server, or C{None}</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> </tt>
-</div><a name="L535"></a><tt class="py-lineno">535</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.put"></a><div id="SFTPClient.put-def"><a name="L536"></a><tt class="py-lineno">536</tt> <a class="py-toggle" href="#" id="SFTPClient.put-toggle" onclick="return toggle('SFTPClient.put');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#put">put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">localpath</tt><tt class="py-op">,</tt> <tt class="py-param">remotepath</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">confirm</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.put-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.put-expanded"><a name="L537"></a><tt class="py-lineno">537</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt> <tt class="py-line"><tt class="py-docstring"> Copy a local file (C{localpath}) to the SFTP server as C{remotepath}.</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt> <tt class="py-line"><tt class="py-docstring"> Any exception raised by operations will be passed through. This</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt> <tt class="py-line"><tt class="py-docstring"> method is primarily provided as a convenience.</tt> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt> <tt class="py-line"><tt class="py-docstring"> The SFTP operations use pipelining for speed.</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt> <tt class="py-line"><tt class="py-docstring"> @param localpath: the local file to copy</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt> <tt class="py-line"><tt class="py-docstring"> @type localpath: str</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt> <tt class="py-line"><tt class="py-docstring"> @param remotepath: the destination path on the SFTP server</tt> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt> <tt class="py-line"><tt class="py-docstring"> @type remotepath: str</tt> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt> <tt class="py-line"><tt class="py-docstring"> @param callback: optional callback function that accepts the bytes</tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt> <tt class="py-line"><tt class="py-docstring"> transferred so far and the total bytes to be transferred</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt> <tt class="py-line"><tt class="py-docstring"> (since 1.7.4)</tt> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt> <tt class="py-line"><tt class="py-docstring"> @type callback: function(int, int)</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt> <tt class="py-line"><tt class="py-docstring"> @param confirm: whether to do a stat() on the file afterwards to</tt> </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt> <tt class="py-line"><tt class="py-docstring"> confirm the file size (since 1.7.7)</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt> <tt class="py-line"><tt class="py-docstring"> @type confirm: bool</tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt> <tt class="py-line"><tt class="py-docstring"> @return: an object containing attributes about the given file</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt> <tt class="py-line"><tt class="py-docstring"> (since 1.7.4)</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: SFTPAttributes</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt> <tt class="py-line"> <tt class="py-name">file_size</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-124', 'stat', 'link-0');">stat</a></tt><tt class="py-op">(</tt><tt class="py-name">localpath</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt> <tt class="py-line"> <tt class="py-name">fl</tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-125', 'file', 'link-67');">file</a></tt><tt class="py-op">(</tt><tt class="py-name">localpath</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt> <tt class="py-line"> <tt class="py-name">fr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-126', 'file', 'link-67');">file</a></tt><tt class="py-op">(</tt><tt class="py-name">remotepath</tt><tt class="py-op">,</tt> <tt class="py-string">'wb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt> <tt class="py-line"> <tt class="py-name">fr</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method paramiko.SFTPFile.set_pipelined()=paramiko.SFTPFile-class.html#set_pipelined"><a title="paramiko.SFTPFile.set_pipelined" class="py-name" href="#" onclick="return doclink('link-127', 'set_pipelined', 'link-127');">set_pipelined</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">fl</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-128', 'read', 'link-128');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">32768</tt><tt class="py-op">)</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt> <tt class="py-line"> <tt class="py-name">fr</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-129', 'write', 'link-129');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L575"></a><tt class="py-lineno">575</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt> <tt class="py-line"> <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">file_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt> <tt class="py-line"> <tt class="py-name">fr</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-130', 'close', 'link-36');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt> <tt class="py-line"> <tt class="py-name">fl</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-131', 'close', 'link-36');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">confirm</tt><tt class="py-op">:</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-132', 'stat', 'link-0');">stat</a></tt><tt class="py-op">(</tt><tt class="py-name">remotepath</tt><tt class="py-op">)</tt> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">!=</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L584"></a><tt class="py-lineno">584</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'size mismatch in put! %d != %d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L586"></a><tt class="py-lineno">586</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-133', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">s</tt> </tt>
-</div><a name="L588"></a><tt class="py-lineno">588</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient.get"></a><div id="SFTPClient.get-def"><a name="L589"></a><tt class="py-lineno">589</tt> <a class="py-toggle" href="#" id="SFTPClient.get-toggle" onclick="return toggle('SFTPClient.get');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">remotepath</tt><tt class="py-op">,</tt> <tt class="py-param">localpath</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient.get-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient.get-expanded"><a name="L590"></a><tt class="py-lineno">590</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt> <tt class="py-line"><tt class="py-docstring"> Copy a remote file (C{remotepath}) from the SFTP server to the local</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt> <tt class="py-line"><tt class="py-docstring"> host as C{localpath}. Any exception raised by operations will be</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt> <tt class="py-line"><tt class="py-docstring"> passed through. This method is primarily provided as a convenience.</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt> <tt class="py-line"><tt class="py-docstring"> @param remotepath: the remote file to copy</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt> <tt class="py-line"><tt class="py-docstring"> @type remotepath: str</tt> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt> <tt class="py-line"><tt class="py-docstring"> @param localpath: the destination path on the local host</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt> <tt class="py-line"><tt class="py-docstring"> @type localpath: str</tt> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt> <tt class="py-line"><tt class="py-docstring"> @param callback: optional callback function that accepts the bytes</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt> <tt class="py-line"><tt class="py-docstring"> transferred so far and the total bytes to be transferred</tt> </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt> <tt class="py-line"><tt class="py-docstring"> (since 1.7.4)</tt> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt> <tt class="py-line"><tt class="py-docstring"> @type callback: function(int, int)</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L606"></a><tt class="py-lineno">606</tt> <tt class="py-line"> <tt class="py-name">fr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-134', 'file', 'link-67');">file</a></tt><tt class="py-op">(</tt><tt class="py-name">remotepath</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt> <tt class="py-line"> <tt class="py-name">file_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-135', 'stat', 'link-0');">stat</a></tt><tt class="py-op">(</tt><tt class="py-name">remotepath</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt> <tt class="py-line"> <tt class="py-name">fr</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name" targets="Method paramiko.SFTPFile.prefetch()=paramiko.SFTPFile-class.html#prefetch"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-136', 'prefetch', 'link-136');">prefetch</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt> <tt class="py-line"> <tt class="py-name">fl</tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-137', 'file', 'link-67');">file</a></tt><tt class="py-op">(</tt><tt class="py-name">localpath</tt><tt class="py-op">,</tt> <tt class="py-string">'wb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">fr</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-138', 'read', 'link-128');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">32768</tt><tt class="py-op">)</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt> <tt class="py-line"> <tt class="py-name">fl</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-139', 'write', 'link-129');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt> <tt class="py-line"> <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">file_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt> <tt class="py-line"> <tt class="py-name">fl</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-140', 'close', 'link-36');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt> <tt class="py-line"> <tt class="py-name">fr</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-141', 'close', 'link-36');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L625"></a><tt class="py-lineno">625</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-142', 'stat', 'link-0');">stat</a></tt><tt class="py-op">(</tt><tt class="py-name">localpath</tt><tt class="py-op">)</tt> </tt>
-<a name="L626"></a><tt class="py-lineno">626</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">!=</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'size mismatch in get! %d != %d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L628"></a><tt class="py-lineno">628</tt> <tt class="py-line"> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt> <tt class="py-line"> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt> <tt class="py-line"> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._request"></a><div id="SFTPClient._request-def"><a name="L633"></a><tt class="py-lineno">633</tt> <a class="py-toggle" href="#" id="SFTPClient._request-toggle" onclick="return toggle('SFTPClient._request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_request">_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">arg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._request-expanded"><a name="L634"></a><tt class="py-lineno">634</tt> <tt class="py-line"> <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_async_request</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">arg</tt><tt class="py-op">)</tt> </tt>
-<a name="L635"></a><tt class="py-lineno">635</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_response</tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L636"></a><tt class="py-lineno">636</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._async_request"></a><div id="SFTPClient._async_request-def"><a name="L637"></a><tt class="py-lineno">637</tt> <a class="py-toggle" href="#" id="SFTPClient._async_request-toggle" onclick="return toggle('SFTPClient._async_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_async_request">_async_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileobj</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">arg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._async_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._async_request-expanded"><a name="L638"></a><tt class="py-lineno">638</tt> <tt class="py-line"> <tt class="py-comment"># this method may be called from other threads (prefetch)</tt> </tt>
-<a name="L639"></a><tt class="py-lineno">639</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L640"></a><tt class="py-lineno">640</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L641"></a><tt class="py-lineno">641</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-143" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-143', 'Message', 'link-143');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-144', 'add_int', 'link-144');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">arg</tt><tt class="py-op">:</tt> </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">int</tt><tt class="py-op">:</tt> </tt>
-<a name="L645"></a><tt class="py-lineno">645</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-145', 'add_int', 'link-144');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L646"></a><tt class="py-lineno">646</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">long</tt><tt class="py-op">:</tt> </tt>
-<a name="L647"></a><tt class="py-lineno">647</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name" targets="Method paramiko.Message.add_int64()=paramiko.Message-class.html#add_int64"><a title="paramiko.Message.add_int64" class="py-name" href="#" onclick="return doclink('link-146', 'add_int64', 'link-146');">add_int64</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L648"></a><tt class="py-lineno">648</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-147', 'add_string', 'link-147');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt id="link-148" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-148', 'SFTPAttributes', 'link-5');">SFTPAttributes</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L651"></a><tt class="py-lineno">651</tt> <tt class="py-line"> <tt class="py-name">item</tt><tt class="py-op">.</tt><tt class="py-name">_pack</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L653"></a><tt class="py-lineno">653</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'unknown type for %r type %r'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L654"></a><tt class="py-lineno">654</tt> <tt class="py-line"> <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_number</tt> </tt>
-<a name="L655"></a><tt class="py-lineno">655</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expecting</tt><tt class="py-op">[</tt><tt class="py-name">num</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">fileobj</tt> </tt>
-<a name="L656"></a><tt class="py-lineno">656</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_packet</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L657"></a><tt class="py-lineno">657</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_number</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L658"></a><tt class="py-lineno">658</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">num</tt> </tt>
-</div><a name="L661"></a><tt class="py-lineno">661</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._read_response"></a><div id="SFTPClient._read_response-def"><a name="L662"></a><tt class="py-lineno">662</tt> <a class="py-toggle" href="#" id="SFTPClient._read_response-toggle" onclick="return toggle('SFTPClient._read_response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_read_response">_read_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">waitfor</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._read_response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._read_response-expanded"><a name="L663"></a><tt class="py-lineno">663</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L665"></a><tt class="py-lineno">665</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_packet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L666"></a><tt class="py-lineno">666</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L667"></a><tt class="py-lineno">667</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-149" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-149', 'SSHException', 'link-8');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Server connection dropped: %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-150', 'Message', 'link-143');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt> <tt class="py-line"> <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-151', 'get_int', 'link-46');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">num</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expecting</tt><tt class="py-op">:</tt> </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt> <tt class="py-line"> <tt class="py-comment"># might be response for a file that was closed before responses came back</tt> </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-152" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-152', 'DEBUG', 'link-38');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Unexpected response #%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">waitfor</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L674"></a><tt class="py-lineno">674</tt> <tt class="py-line"> <tt class="py-comment"># just doing a single check</tt> </tt>
-<a name="L675"></a><tt class="py-lineno">675</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L676"></a><tt class="py-lineno">676</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L677"></a><tt class="py-lineno">677</tt> <tt class="py-line"> <tt class="py-name">fileobj</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expecting</tt><tt class="py-op">[</tt><tt class="py-name">num</tt><tt class="py-op">]</tt> </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expecting</tt><tt class="py-op">[</tt><tt class="py-name">num</tt><tt class="py-op">]</tt> </tt>
-<a name="L679"></a><tt class="py-lineno">679</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">num</tt> <tt class="py-op">==</tt> <tt class="py-name">waitfor</tt><tt class="py-op">:</tt> </tt>
-<a name="L680"></a><tt class="py-lineno">680</tt> <tt class="py-line"> <tt class="py-comment"># synchronous</tt> </tt>
-<a name="L681"></a><tt class="py-lineno">681</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-153" class="py-name" targets="Variable paramiko.sftp.CMD_STATUS=paramiko.sftp-module.html#CMD_STATUS,Variable paramiko.sftp_attr.CMD_STATUS=paramiko.sftp_attr-module.html#CMD_STATUS,Variable paramiko.sftp_client.CMD_STATUS=paramiko.sftp_client-module.html#CMD_STATUS,Variable paramiko.sftp_file.CMD_STATUS=paramiko.sftp_file-module.html#CMD_STATUS,Variable paramiko.sftp_handle.CMD_STATUS=paramiko.sftp_handle-module.html#CMD_STATUS,Variable paramiko.sftp_server.CMD_STATUS=paramiko.sftp_server-module.html#CMD_STATUS,Variable paramiko.sftp_si.CMD_STATUS=paramiko.sftp_si-module.html#CMD_STATUS"><a title="paramiko.sftp.CMD_STATUS
-paramiko.sftp_attr.CMD_STATUS
-paramiko.sftp_client.CMD_STATUS
-paramiko.sftp_file.CMD_STATUS
-paramiko.sftp_handle.CMD_STATUS
-paramiko.sftp_server.CMD_STATUS
-paramiko.sftp_si.CMD_STATUS" class="py-name" href="#" onclick="return doclink('link-153', 'CMD_STATUS', 'link-153');">CMD_STATUS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_convert_status</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">fileobj</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L685"></a><tt class="py-lineno">685</tt> <tt class="py-line"> <tt class="py-name">fileobj</tt><tt class="py-op">.</tt><tt class="py-name">_async_response</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L686"></a><tt class="py-lineno">686</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">waitfor</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L687"></a><tt class="py-lineno">687</tt> <tt class="py-line"> <tt class="py-comment"># just doing a single check</tt> </tt>
-<a name="L688"></a><tt class="py-lineno">688</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L689"></a><tt class="py-lineno">689</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L690"></a><tt class="py-lineno">690</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._finish_responses"></a><div id="SFTPClient._finish_responses-def"><a name="L691"></a><tt class="py-lineno">691</tt> <a class="py-toggle" href="#" id="SFTPClient._finish_responses-toggle" onclick="return toggle('SFTPClient._finish_responses');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_finish_responses">_finish_responses</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileobj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._finish_responses-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._finish_responses-expanded"><a name="L692"></a><tt class="py-lineno">692</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">fileobj</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expecting</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name" targets="Method paramiko.HostKeys.values()=paramiko.HostKeys-class.html#values,Method paramiko.transport.ChannelMap.values()=paramiko.transport.ChannelMap-class.html#values"><a title="paramiko.HostKeys.values
-paramiko.transport.ChannelMap.values" class="py-name" href="#" onclick="return doclink('link-154', 'values', 'link-154');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L693"></a><tt class="py-lineno">693</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_response</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L694"></a><tt class="py-lineno">694</tt> <tt class="py-line"> <tt class="py-name">fileobj</tt><tt class="py-op">.</tt><tt class="py-name">_check_exception</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L695"></a><tt class="py-lineno">695</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._convert_status"></a><div id="SFTPClient._convert_status-def"><a name="L696"></a><tt class="py-lineno">696</tt> <a class="py-toggle" href="#" id="SFTPClient._convert_status-toggle" onclick="return toggle('SFTPClient._convert_status');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_convert_status">_convert_status</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._convert_status-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._convert_status-expanded"><a name="L697"></a><tt class="py-lineno">697</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L698"></a><tt class="py-lineno">698</tt> <tt class="py-line"><tt class="py-docstring"> Raises EOFError or IOError on error status; otherwise does nothing.</tt> </tt>
-<a name="L699"></a><tt class="py-lineno">699</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L700"></a><tt class="py-lineno">700</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-155', 'get_int', 'link-46');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno">701</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-156', 'get_string', 'link-42');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L702"></a><tt class="py-lineno">702</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">code</tt> <tt class="py-op">==</tt> <tt id="link-157" class="py-name" targets="Variable paramiko.sftp.SFTP_OK=paramiko.sftp-module.html#SFTP_OK,Variable paramiko.sftp_attr.SFTP_OK=paramiko.sftp_attr-module.html#SFTP_OK,Variable paramiko.sftp_client.SFTP_OK=paramiko.sftp_client-module.html#SFTP_OK,Variable paramiko.sftp_file.SFTP_OK=paramiko.sftp_file-module.html#SFTP_OK,Variable paramiko.sftp_handle.SFTP_OK=paramiko.sftp_handle-module.html#SFTP_OK,Variable paramiko.sftp_server.SFTP_OK=paramiko.sftp_server-module.html#SFTP_OK,Variable paramiko.sftp_si.SFTP_OK=paramiko.sftp_si-module.html#SFTP_OK"><a title="paramiko.sftp.SFTP_OK
-paramiko.sftp_attr.SFTP_OK
-paramiko.sftp_client.SFTP_OK
-paramiko.sftp_file.SFTP_OK
-paramiko.sftp_handle.SFTP_OK
-paramiko.sftp_server.SFTP_OK
-paramiko.sftp_si.SFTP_OK" class="py-name" href="#" onclick="return doclink('link-157', 'SFTP_OK', 'link-157');">SFTP_OK</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L703"></a><tt class="py-lineno">703</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L704"></a><tt class="py-lineno">704</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">code</tt> <tt class="py-op">==</tt> <tt id="link-158" class="py-name" targets="Variable paramiko.sftp.SFTP_EOF=paramiko.sftp-module.html#SFTP_EOF,Variable paramiko.sftp_attr.SFTP_EOF=paramiko.sftp_attr-module.html#SFTP_EOF,Variable paramiko.sftp_client.SFTP_EOF=paramiko.sftp_client-module.html#SFTP_EOF,Variable paramiko.sftp_file.SFTP_EOF=paramiko.sftp_file-module.html#SFTP_EOF,Variable paramiko.sftp_handle.SFTP_EOF=paramiko.sftp_handle-module.html#SFTP_EOF,Variable paramiko.sftp_server.SFTP_EOF=paramiko.sftp_server-module.html#SFTP_EOF,Variable paramiko.sftp_si.SFTP_EOF=paramiko.sftp_si-module.html#SFTP_EOF"><a title="paramiko.sftp.SFTP_EOF
-paramiko.sftp_attr.SFTP_EOF
-paramiko.sftp_client.SFTP_EOF
-paramiko.sftp_file.SFTP_EOF
-paramiko.sftp_handle.SFTP_EOF
-paramiko.sftp_server.SFTP_EOF
-paramiko.sftp_si.SFTP_EOF" class="py-name" href="#" onclick="return doclink('link-158', 'SFTP_EOF', 'link-158');">SFTP_EOF</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L705"></a><tt class="py-lineno">705</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">EOFError</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L706"></a><tt class="py-lineno">706</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">code</tt> <tt class="py-op">==</tt> <tt id="link-159" class="py-name" targets="Variable paramiko.sftp.SFTP_NO_SUCH_FILE=paramiko.sftp-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_attr.SFTP_NO_SUCH_FILE=paramiko.sftp_attr-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_client.SFTP_NO_SUCH_FILE=paramiko.sftp_client-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_file.SFTP_NO_SUCH_FILE=paramiko.sftp_file-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_handle.SFTP_NO_SUCH_FILE=paramiko.sftp_handle-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_server.SFTP_NO_SUCH_FILE=paramiko.sftp_server-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_si.SFTP_NO_SUCH_FILE=paramiko.sftp_si-module.html#SFTP_NO_SUCH_FILE"><a title="paramiko.sftp.SFTP_NO_SUCH_FILE
-paramiko.sftp_attr.SFTP_NO_SUCH_FILE
-paramiko.sftp_client.SFTP_NO_SUCH_FILE
-paramiko.sftp_file.SFTP_NO_SUCH_FILE
-paramiko.sftp_handle.SFTP_NO_SUCH_FILE
-paramiko.sftp_server.SFTP_NO_SUCH_FILE
-paramiko.sftp_si.SFTP_NO_SUCH_FILE" class="py-name" href="#" onclick="return doclink('link-159', 'SFTP_NO_SUCH_FILE', 'link-159');">SFTP_NO_SUCH_FILE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L707"></a><tt class="py-lineno">707</tt> <tt class="py-line"> <tt class="py-comment"># clever idea from john a. meinel: map the error codes to errno</tt> </tt>
-<a name="L708"></a><tt class="py-lineno">708</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">ENOENT</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L709"></a><tt class="py-lineno">709</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">code</tt> <tt class="py-op">==</tt> <tt id="link-160" class="py-name" targets="Variable paramiko.sftp.SFTP_PERMISSION_DENIED=paramiko.sftp-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_attr.SFTP_PERMISSION_DENIED=paramiko.sftp_attr-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_client.SFTP_PERMISSION_DENIED=paramiko.sftp_client-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_file.SFTP_PERMISSION_DENIED=paramiko.sftp_file-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_handle.SFTP_PERMISSION_DENIED=paramiko.sftp_handle-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_server.SFTP_PERMISSION_DENIED=paramiko.sftp_server-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_si.SFTP_PERMISSION_DENIED=paramiko.sftp_si-module.html#SFTP_PERMISSION_DENIED"><a title="paramiko.sftp.SFTP_PERMISSION_DENIED
-paramiko.sftp_attr.SFTP_PERMISSION_DENIED
-paramiko.sftp_client.SFTP_PERMISSION_DENIED
-paramiko.sftp_file.SFTP_PERMISSION_DENIED
-paramiko.sftp_handle.SFTP_PERMISSION_DENIED
-paramiko.sftp_server.SFTP_PERMISSION_DENIED
-paramiko.sftp_si.SFTP_PERMISSION_DENIED" class="py-name" href="#" onclick="return doclink('link-160', 'SFTP_PERMISSION_DENIED', 'link-160');">SFTP_PERMISSION_DENIED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L710"></a><tt class="py-lineno">710</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EACCES</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L711"></a><tt class="py-lineno">711</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L712"></a><tt class="py-lineno">712</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L713"></a><tt class="py-lineno">713</tt> <tt class="py-line"> </tt>
-<a name="SFTPClient._adjust_cwd"></a><div id="SFTPClient._adjust_cwd-def"><a name="L714"></a><tt class="py-lineno">714</tt> <a class="py-toggle" href="#" id="SFTPClient._adjust_cwd-toggle" onclick="return toggle('SFTPClient._adjust_cwd');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTPClient-class.html#_adjust_cwd">_adjust_cwd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPClient._adjust_cwd-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPClient._adjust_cwd-expanded"><a name="L715"></a><tt class="py-lineno">715</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L716"></a><tt class="py-lineno">716</tt> <tt class="py-line"><tt class="py-docstring"> Return an adjusted path if we're emulating a "current working</tt> </tt>
-<a name="L717"></a><tt class="py-lineno">717</tt> <tt class="py-line"><tt class="py-docstring"> directory" for the server.</tt> </tt>
-<a name="L718"></a><tt class="py-lineno">718</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L719"></a><tt class="py-lineno">719</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">unicode</tt><tt class="py-op">:</tt> </tt>
-<a name="L720"></a><tt class="py-lineno">720</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">path</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="paramiko.ber.BER.encode" class="py-name" href="#" onclick="return doclink('link-161', 'encode', 'link-12');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L721"></a><tt class="py-lineno">721</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L722"></a><tt class="py-lineno">722</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">path</tt> </tt>
-<a name="L723"></a><tt class="py-lineno">723</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L724"></a><tt class="py-lineno">724</tt> <tt class="py-line"> <tt class="py-comment"># absolute path</tt> </tt>
-<a name="L725"></a><tt class="py-lineno">725</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">path</tt> </tt>
-<a name="L726"></a><tt class="py-lineno">726</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
-<a name="L727"></a><tt class="py-lineno">727</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-op">+</tt> <tt class="py-name">path</tt> </tt>
-<a name="L728"></a><tt class="py-lineno">728</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_cwd</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-name">path</tt> </tt>
-</div></div><a name="L729"></a><tt class="py-lineno">729</tt> <tt class="py-line"> </tt>
-<a name="L730"></a><tt class="py-lineno">730</tt> <tt class="py-line"> </tt>
-<a name="SFTP"></a><div id="SFTP-def"><a name="L731"></a><tt class="py-lineno">731</tt> <a class="py-toggle" href="#" id="SFTP-toggle" onclick="return toggle('SFTP');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_client.SFTP-class.html">SFTP</a> <tt class="py-op">(</tt><tt class="py-base-class">SFTPClient</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTP-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTP-expanded"><a name="L732"></a><tt class="py-lineno">732</tt> <tt class="py-line"> <tt class="py-docstring">"an alias for L{SFTPClient} for backwards compatability"</tt> </tt>
-<a name="L733"></a><tt class="py-lineno">733</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L734"></a><tt class="py-lineno">734</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_file-module.html b/docs/paramiko.sftp_file-module.html
deleted file mode 100644
index 2d63a78..0000000
--- a/docs/paramiko.sftp_file-module.html
+++ /dev/null
@@ -1,907 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_file</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_file
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_file-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp_file</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.SFTPFile-class.html" class="link">SFTPFile</a></p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_file-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_file-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_file-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_file-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_file-pysrc.html b/docs/paramiko.sftp_file-pysrc.html
deleted file mode 100644
index f4791fa..0000000
--- a/docs/paramiko.sftp_file-pysrc.html
+++ /dev/null
@@ -1,873 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_file</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_file
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_file-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp_file-module.html" onclick="show_private();">Module paramiko.sftp_file</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{SFTPFile}</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">binascii</tt> <tt class="py-keyword">import</tt> <tt class="py-name">hexlify</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-3', 'sftp', 'link-3');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method paramiko.SFTPClient.file()=paramiko.SFTPClient-class.html#file,Module paramiko.file=paramiko.file-module.html"><a title="paramiko.SFTPClient.file
-paramiko.file" class="py-name" href="#" onclick="return doclink('link-5', 'file', 'link-5');">file</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.BufferedFile=paramiko.BufferedFile-class.html"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-6', 'BufferedFile', 'link-6');">BufferedFile</a></tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.sftp_attr=paramiko.sftp_attr-module.html"><a title="paramiko.sftp_attr" class="py-name" href="#" onclick="return doclink('link-8', 'sftp_attr', 'link-8');">sftp_attr</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class paramiko.SFTPAttributes=paramiko.SFTPAttributes-class.html"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-9', 'SFTPAttributes', 'link-9');">SFTPAttributes</a></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile"></a><div id="SFTPFile-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="SFTPFile-toggle" onclick="return toggle('SFTPFile');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html">SFTPFile</a> <tt class="py-op">(</tt><tt class="py-base-class">BufferedFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPFile-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> Proxy object for a file on the remote server, in client mode SFTP.</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-comment"># Some sftp servers will choke if you send read/write requests larger than</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-comment"># this size.</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable paramiko.SFTPFile.MAX_REQUEST_SIZE=paramiko.SFTPFile-class.html#MAX_REQUEST_SIZE"><a title="paramiko.SFTPFile.MAX_REQUEST_SIZE" class="py-name" href="#" onclick="return doclink('link-10', 'MAX_REQUEST_SIZE', 'link-10');">MAX_REQUEST_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">32768</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.__init__"></a><div id="SFTPFile.__init__-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="SFTPFile.__init__-toggle" onclick="return toggle('SFTPFile.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sftp</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-param">bufsize</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.__init__-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-11', 'BufferedFile', 'link-6');">BufferedFile</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-12', '__init__', 'link-12');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-13', 'sftp', 'link-3');">sftp</a></tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-14', 'sftp', 'link-3');">sftp</a></tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-15', 'BufferedFile', 'link-6');">BufferedFile</a></tt><tt class="py-op">.</tt><tt class="py-name">_set_mode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">bufsize</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pipelined</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetching</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_done</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_reads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.__del__"></a><div id="SFTPFile.__del__-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="SFTPFile.__del__-toggle" onclick="return toggle('SFTPFile.__del__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#__del__">__del__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.__del__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.__del__-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_close</tt><tt class="py-op">(</tt><tt class="py-name">async</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.close"></a><div id="SFTPFile.close-def"><a name="L58"></a><tt class="py-lineno"> 58</tt> <a class="py-toggle" href="#" id="SFTPFile.close-toggle" onclick="return toggle('SFTPFile.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.close-expanded"><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_close</tt><tt class="py-op">(</tt><tt class="py-name">async</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._close"></a><div id="SFTPFile._close-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="SFTPFile._close-toggle" onclick="return toggle('SFTPFile._close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_close">_close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">async</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._close-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-comment"># We allow double-close without signaling an error, because real</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-comment"># Python file objects do. However, we must protect against actually</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-comment"># sending multiple CMD_CLOSE packets, because after we close our</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># handle, the same handle may be re-allocated by the server, and we</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-comment"># may end up mysteriously closing some random other file. (This is</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-comment"># especially important because we unconditionally call close() from</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-comment"># __del__.)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-16', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-17', 'DEBUG', 'link-17');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'close(%s)'</tt> <tt class="py-op">%</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pipelined</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-18', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_finish_responses</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="paramiko.BufferedFile" class="py-name" href="#" onclick="return doclink('link-19', 'BufferedFile', 'link-6');">BufferedFile</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-20', 'close', 'link-20');">close</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">async</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-comment"># GC'd file handle could be called from an arbitrary thread -- don't wait for a response</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-21', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_async_request</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name" targets="Variable paramiko.sftp.CMD_CLOSE=paramiko.sftp-module.html#CMD_CLOSE,Variable paramiko.sftp_attr.CMD_CLOSE=paramiko.sftp_attr-module.html#CMD_CLOSE,Variable paramiko.sftp_client.CMD_CLOSE=paramiko.sftp_client-module.html#CMD_CLOSE,Variable paramiko.sftp_file.CMD_CLOSE=paramiko.sftp_file-module.html#CMD_CLOSE,Variable paramiko.sftp_handle.CMD_CLOSE=paramiko.sftp_handle-module.html#CMD_CLOSE,Variable paramiko.sftp_server.CMD_CLOSE=paramiko.sftp_server-module.html#CMD_CLOSE,Variable paramiko.sftp_si.CMD_CLOSE=paramiko.sftp_si-module.html#CMD_CLOSE"><a title="paramiko.sftp.CMD_CLOSE
-paramiko.sftp_attr.CMD_CLOSE
-paramiko.sftp_client.CMD_CLOSE
-paramiko.sftp_file.CMD_CLOSE
-paramiko.sftp_handle.CMD_CLOSE
-paramiko.sftp_server.CMD_CLOSE
-paramiko.sftp_si.CMD_CLOSE" class="py-name" href="#" onclick="return doclink('link-22', 'CMD_CLOSE', 'link-22');">CMD_CLOSE</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-23', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="paramiko.sftp.CMD_CLOSE
-paramiko.sftp_attr.CMD_CLOSE
-paramiko.sftp_client.CMD_CLOSE
-paramiko.sftp_file.CMD_CLOSE
-paramiko.sftp_handle.CMD_CLOSE
-paramiko.sftp_server.CMD_CLOSE
-paramiko.sftp_si.CMD_CLOSE" class="py-name" href="#" onclick="return doclink('link-24', 'CMD_CLOSE', 'link-22');">CMD_CLOSE</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-comment"># may have outlived the Transport connection</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-comment"># may have outlived the Transport connection</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._data_in_prefetch_requests"></a><div id="SFTPFile._data_in_prefetch_requests-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="SFTPFile._data_in_prefetch_requests-toggle" onclick="return toggle('SFTPFile._data_in_prefetch_requests');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_data_in_prefetch_requests">_data_in_prefetch_requests</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._data_in_prefetch_requests-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._data_in_prefetch_requests-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_reads</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">offset</tt><tt class="py-op">]</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">:</tt> <tt class="py-name">cmp</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">buf_offset</tt><tt class="py-op">,</tt> <tt class="py-name">buf_size</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf_offset</tt> <tt class="py-op">+</tt> <tt class="py-name">buf_size</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">offset</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-comment"># prefetch request ends before this one begins</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf_offset</tt> <tt class="py-op">+</tt> <tt class="py-name">buf_size</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">offset</tt> <tt class="py-op">+</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-comment"># inclusive</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-comment"># well, we have part of the request. see if another chunk has the rest.</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_in_prefetch_requests</tt><tt class="py-op">(</tt><tt class="py-name">buf_offset</tt> <tt class="py-op">+</tt> <tt class="py-name">buf_size</tt><tt class="py-op">,</tt> <tt class="py-name">offset</tt> <tt class="py-op">+</tt> <tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">buf_offset</tt> <tt class="py-op">-</tt> <tt class="py-name">buf_size</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._data_in_prefetch_buffers"></a><div id="SFTPFile._data_in_prefetch_buffers-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="SFTPFile._data_in_prefetch_buffers-toggle" onclick="return toggle('SFTPFile._data_in_prefetch_buffers');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_data_in_prefetch_buffers">_data_in_prefetch_buffers</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._data_in_prefetch_buffers-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._data_in_prefetch_buffers-expanded"><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> if a block of data is present in the prefetch buffers, at the given</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> offset, return the offset of the relevant prefetch buffer. otherwise,</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> return None. this guarantees nothing about the number of bytes</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> collected in the prefetch buffer so far.</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-25', 'keys', 'link-25');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">offset</tt><tt class="py-op">]</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">buf_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> <tt class="py-op">-</tt> <tt class="py-name">index</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf_offset</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-comment"># it's not here</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">index</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._read_prefetch"></a><div id="SFTPFile._read_prefetch-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="SFTPFile._read_prefetch-toggle" onclick="return toggle('SFTPFile._read_prefetch');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_read_prefetch">_read_prefetch</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._read_prefetch-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._read_prefetch-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> read data out of the prefetch buffer, if possible. if the data isn't</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> in the buffer, return None. otherwise, behaves like a normal read.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-comment"># while not closed, and haven't fetched past the current position, and haven't reached EOF...</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_in_prefetch_buffers</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">offset</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_done</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_closed</tt><tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-26', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_read_response</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_exception</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">offset</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetching</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt id="link-27" class="py-name" targets="Method paramiko.SFTPFile.prefetch()=paramiko.SFTPFile-class.html#prefetch"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-27', 'prefetch', 'link-27');">prefetch</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt><tt class="py-op">]</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt><tt class="py-op">]</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">buf_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">-</tt> <tt class="py-name">offset</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf_offset</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-28', 'prefetch', 'link-27');">prefetch</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">buf_offset</tt><tt class="py-op">]</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt id="link-29" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-29', 'prefetch', 'link-27');">prefetch</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-30', 'prefetch', 'link-27');">prefetch</a></tt><tt class="py-op">[</tt><tt class="py-name">buf_offset</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-31', 'prefetch', 'link-27');">prefetch</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">+</tt> <tt class="py-name">size</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-32', 'prefetch', 'link-27');">prefetch</a></tt><tt class="py-op">[</tt><tt class="py-name">size</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt id="link-33" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-33', 'prefetch', 'link-27');">prefetch</a></tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-34', 'prefetch', 'link-27');">prefetch</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-35" class="py-name"><a title="paramiko.SFTPFile.prefetch" class="py-name" href="#" onclick="return doclink('link-35', 'prefetch', 'link-27');">prefetch</a></tt> </tt>
-</div><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._read"></a><div id="SFTPFile._read-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="SFTPFile._read-toggle" onclick="return toggle('SFTPFile._read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._read-expanded"><a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="paramiko.SFTPFile.MAX_REQUEST_SIZE" class="py-name" href="#" onclick="return doclink('link-36', 'MAX_REQUEST_SIZE', 'link-10');">MAX_REQUEST_SIZE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetching</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_prefetch</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">data</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-37', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-38" class="py-name" targets="Variable paramiko.sftp.CMD_READ=paramiko.sftp-module.html#CMD_READ,Variable paramiko.sftp_attr.CMD_READ=paramiko.sftp_attr-module.html#CMD_READ,Variable paramiko.sftp_client.CMD_READ=paramiko.sftp_client-module.html#CMD_READ,Variable paramiko.sftp_file.CMD_READ=paramiko.sftp_file-module.html#CMD_READ,Variable paramiko.sftp_handle.CMD_READ=paramiko.sftp_handle-module.html#CMD_READ,Variable paramiko.sftp_server.CMD_READ=paramiko.sftp_server-module.html#CMD_READ,Variable paramiko.sftp_si.CMD_READ=paramiko.sftp_si-module.html#CMD_READ"><a title="paramiko.sftp.CMD_READ
-paramiko.sftp_attr.CMD_READ
-paramiko.sftp_client.CMD_READ
-paramiko.sftp_file.CMD_READ
-paramiko.sftp_handle.CMD_READ
-paramiko.sftp_server.CMD_READ
-paramiko.sftp_si.CMD_READ" class="py-name" href="#" onclick="return doclink('link-38', 'CMD_READ', 'link-38');">CMD_READ</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-39" class="py-name" targets="Variable paramiko.sftp.CMD_DATA=paramiko.sftp-module.html#CMD_DATA,Variable paramiko.sftp_attr.CMD_DATA=paramiko.sftp_attr-module.html#CMD_DATA,Variable paramiko.sftp_client.CMD_DATA=paramiko.sftp_client-module.html#CMD_DATA,Variable paramiko.sftp_file.CMD_DATA=paramiko.sftp_file-module.html#CMD_DATA,Variable paramiko.sftp_handle.CMD_DATA=paramiko.sftp_handle-module.html#CMD_DATA,Variable paramiko.sftp_server.CMD_DATA=paramiko.sftp_server-module.html#CMD_DATA,Variable paramiko.sftp_si.CMD_DATA=paramiko.sftp_si-module.html#CMD_DATA"><a title="paramiko.sftp.CMD_DATA
-paramiko.sftp_attr.CMD_DATA
-paramiko.sftp_client.CMD_DATA
-paramiko.sftp_file.CMD_DATA
-paramiko.sftp_handle.CMD_DATA
-paramiko.sftp_server.CMD_DATA
-paramiko.sftp_si.CMD_DATA" class="py-name" href="#" onclick="return doclink('link-39', 'CMD_DATA', 'link-39');">CMD_DATA</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-40" class="py-name" targets="Class paramiko.SFTPError=paramiko.SFTPError-class.html"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-40', 'SFTPError', 'link-40');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected data'</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-41', 'get_string', 'link-41');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._write"></a><div id="SFTPFile._write-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="SFTPFile._write-toggle" onclick="return toggle('SFTPFile._write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_write">_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._write-expanded"><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-comment"># may write less than requested if it would exceed max packet size</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">chunk</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="paramiko.SFTPFile.MAX_REQUEST_SIZE" class="py-name" href="#" onclick="return doclink('link-42', 'MAX_REQUEST_SIZE', 'link-10');">MAX_REQUEST_SIZE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">req</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-43', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_async_request</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name" targets="Variable paramiko.sftp.CMD_WRITE=paramiko.sftp-module.html#CMD_WRITE,Variable paramiko.sftp_attr.CMD_WRITE=paramiko.sftp_attr-module.html#CMD_WRITE,Variable paramiko.sftp_client.CMD_WRITE=paramiko.sftp_client-module.html#CMD_WRITE,Variable paramiko.sftp_file.CMD_WRITE=paramiko.sftp_file-module.html#CMD_WRITE,Variable paramiko.sftp_handle.CMD_WRITE=paramiko.sftp_handle-module.html#CMD_WRITE,Variable paramiko.sftp_server.CMD_WRITE=paramiko.sftp_server-module.html#CMD_WRITE,Variable paramiko.sftp_si.CMD_WRITE=paramiko.sftp_si-module.html#CMD_WRITE"><a title="paramiko.sftp.CMD_WRITE
-paramiko.sftp_attr.CMD_WRITE
-paramiko.sftp_client.CMD_WRITE
-paramiko.sftp_file.CMD_WRITE
-paramiko.sftp_handle.CMD_WRITE
-paramiko.sftp_server.CMD_WRITE
-paramiko.sftp_si.CMD_WRITE" class="py-name" href="#" onclick="return doclink('link-44', 'CMD_WRITE', 'link-44');">CMD_WRITE</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">chunk</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pipelined</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-45', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method paramiko.Channel.recv_ready()=paramiko.Channel-class.html#recv_ready"><a title="paramiko.Channel.recv_ready" class="py-name" href="#" onclick="return doclink('link-46', 'recv_ready', 'link-46');">recv_ready</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-47', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_read_response</tt><tt class="py-op">(</tt><tt class="py-name">req</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-48" class="py-name" targets="Variable paramiko.sftp.CMD_STATUS=paramiko.sftp-module.html#CMD_STATUS,Variable paramiko.sftp_attr.CMD_STATUS=paramiko.sftp_attr-module.html#CMD_STATUS,Variable paramiko.sftp_client.CMD_STATUS=paramiko.sftp_client-module.html#CMD_STATUS,Variable paramiko.sftp_file.CMD_STATUS=paramiko.sftp_file-module.html#CMD_STATUS,Variable paramiko.sftp_handle.CMD_STATUS=paramiko.sftp_handle-module.html#CMD_STATUS,Variable paramiko.sftp_server.CMD_STATUS=paramiko.sftp_server-module.html#CMD_STATUS,Variable paramiko.sftp_si.CMD_STATUS=paramiko.sftp_si-module.html#CMD_STATUS"><a title="paramiko.sftp.CMD_STATUS
-paramiko.sftp_attr.CMD_STATUS
-paramiko.sftp_client.CMD_STATUS
-paramiko.sftp_file.CMD_STATUS
-paramiko.sftp_handle.CMD_STATUS
-paramiko.sftp_server.CMD_STATUS
-paramiko.sftp_si.CMD_STATUS" class="py-name" href="#" onclick="return doclink('link-48', 'CMD_STATUS', 'link-48');">CMD_STATUS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-49" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-49', 'SFTPError', 'link-40');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected status'</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-comment"># convert_status already called</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">chunk</tt> </tt>
-</div><a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.settimeout"></a><div id="SFTPFile.settimeout-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="SFTPFile.settimeout-toggle" onclick="return toggle('SFTPFile.settimeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#settimeout">settimeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.settimeout-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.settimeout-expanded"><a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> Set a timeout on read/write operations on the underlying socket or</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> ssh L{Channel}.</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> @see: L{Channel.settimeout}</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> @param timeout: seconds to wait for a pending read/write operation</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> before raising C{socket.timeout}, or C{None} for no timeout</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> @type timeout: float</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-50', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method paramiko.Channel.settimeout()=paramiko.Channel-class.html#settimeout,Method paramiko.SFTPFile.settimeout()=paramiko.SFTPFile-class.html#settimeout"><a title="paramiko.Channel.settimeout
-paramiko.SFTPFile.settimeout" class="py-name" href="#" onclick="return doclink('link-51', 'settimeout', 'link-51');">settimeout</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.gettimeout"></a><div id="SFTPFile.gettimeout-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="SFTPFile.gettimeout-toggle" onclick="return toggle('SFTPFile.gettimeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#gettimeout">gettimeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.gettimeout-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.gettimeout-expanded"><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> Returns the timeout in seconds (as a float) associated with the socket</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> or ssh L{Channel} used for this file.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> @see: L{Channel.gettimeout}</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: float</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-52', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method paramiko.Channel.gettimeout()=paramiko.Channel-class.html#gettimeout,Method paramiko.SFTPFile.gettimeout()=paramiko.SFTPFile-class.html#gettimeout"><a title="paramiko.Channel.gettimeout
-paramiko.SFTPFile.gettimeout" class="py-name" href="#" onclick="return doclink('link-53', 'gettimeout', 'link-53');">gettimeout</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.setblocking"></a><div id="SFTPFile.setblocking-def"><a name="L193"></a><tt class="py-lineno">193</tt> <a class="py-toggle" href="#" id="SFTPFile.setblocking-toggle" onclick="return toggle('SFTPFile.setblocking');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#setblocking">setblocking</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">blocking</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.setblocking-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.setblocking-expanded"><a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"> Set blocking or non-blocking mode on the underiying socket or ssh</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel}.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> @see: L{Channel.setblocking}</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> @param blocking: 0 to set non-blocking mode; non-0 to set blocking</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> mode.</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> @type blocking: int</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-54', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method paramiko.Channel.setblocking()=paramiko.Channel-class.html#setblocking,Method paramiko.SFTPFile.setblocking()=paramiko.SFTPFile-class.html#setblocking"><a title="paramiko.Channel.setblocking
-paramiko.SFTPFile.setblocking" class="py-name" href="#" onclick="return doclink('link-55', 'setblocking', 'link-55');">setblocking</a></tt><tt class="py-op">(</tt><tt class="py-name">blocking</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.seek"></a><div id="SFTPFile.seek-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="SFTPFile.seek-toggle" onclick="return toggle('SFTPFile.seek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#seek">seek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">,</tt> <tt class="py-param">whence</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.seek-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.seek-expanded"><a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method paramiko.BufferedFile.flush()=paramiko.BufferedFile-class.html#flush"><a title="paramiko.BufferedFile.flush" class="py-name" href="#" onclick="return doclink('link-56', 'flush', 'link-56');">flush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">whence</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Variable paramiko.BufferedFile.SEEK_SET=paramiko.BufferedFile-class.html#SEEK_SET"><a title="paramiko.BufferedFile.SEEK_SET" class="py-name" href="#" onclick="return doclink('link-57', 'SEEK_SET', 'link-57');">SEEK_SET</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">whence</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Variable paramiko.BufferedFile.SEEK_CUR=paramiko.BufferedFile-class.html#SEEK_CUR"><a title="paramiko.BufferedFile.SEEK_CUR" class="py-name" href="#" onclick="return doclink('link-58', 'SEEK_CUR', 'link-58');">SEEK_CUR</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">+=</tt> <tt class="py-name">offset</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_get_size</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">offset</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rbuffer</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.stat"></a><div id="SFTPFile.stat-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="SFTPFile.stat-toggle" onclick="return toggle('SFTPFile.stat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#stat">stat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.stat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.stat-expanded"><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> Retrieve information about this file from the remote system. This is</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> exactly like L{SFTP.stat}, except that it operates on an already-open</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> file.</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> @return: an object containing attributes about this file.</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: SFTPAttributes</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-59', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-60" class="py-name" targets="Variable paramiko.sftp.CMD_FSTAT=paramiko.sftp-module.html#CMD_FSTAT,Variable paramiko.sftp_attr.CMD_FSTAT=paramiko.sftp_attr-module.html#CMD_FSTAT,Variable paramiko.sftp_client.CMD_FSTAT=paramiko.sftp_client-module.html#CMD_FSTAT,Variable paramiko.sftp_file.CMD_FSTAT=paramiko.sftp_file-module.html#CMD_FSTAT,Variable paramiko.sftp_handle.CMD_FSTAT=paramiko.sftp_handle-module.html#CMD_FSTAT,Variable paramiko.sftp_server.CMD_FSTAT=paramiko.sftp_server-module.html#CMD_FSTAT,Variable paramiko.sftp_si.CMD_FSTAT=paramiko.sftp_si-module.html#CMD_FSTAT"><a title="paramiko.sftp.CMD_FSTAT
-paramiko.sftp_attr.CMD_FSTAT
-paramiko.sftp_client.CMD_FSTAT
-paramiko.sftp_file.CMD_FSTAT
-paramiko.sftp_handle.CMD_FSTAT
-paramiko.sftp_server.CMD_FSTAT
-paramiko.sftp_si.CMD_FSTAT" class="py-name" href="#" onclick="return doclink('link-60', 'CMD_FSTAT', 'link-60');">CMD_FSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-61" class="py-name" targets="Variable paramiko.sftp.CMD_ATTRS=paramiko.sftp-module.html#CMD_ATTRS,Variable paramiko.sftp_attr.CMD_ATTRS=paramiko.sftp_attr-module.html#CMD_ATTRS,Variable paramiko.sftp_client.CMD_ATTRS=paramiko.sftp_client-module.html#CMD_ATTRS,Variable paramiko.sftp_file.CMD_ATTRS=paramiko.sftp_file-module.html#CMD_ATTRS,Variable paramiko.sftp_handle.CMD_ATTRS=paramiko.sftp_handle-module.html#CMD_ATTRS,Variable paramiko.sftp_server.CMD_ATTRS=paramiko.sftp_server-module.html#CMD_ATTRS,Variable paramiko.sftp_si.CMD_ATTRS=paramiko.sftp_si-module.html#CMD_ATTRS"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-61', 'CMD_ATTRS', 'link-61');">CMD_ATTRS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-62" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-62', 'SFTPError', 'link-40');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected attributes'</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-63" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-63', 'SFTPAttributes', 'link-9');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.chmod"></a><div id="SFTPFile.chmod-def"><a name="L230"></a><tt class="py-lineno">230</tt> <a class="py-toggle" href="#" id="SFTPFile.chmod-toggle" onclick="return toggle('SFTPFile.chmod');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#chmod">chmod</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.chmod-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.chmod-expanded"><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> Change the mode (permissions) of this file. The permissions are</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> unix-style and identical to those used by python's C{os.chmod}</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> function.</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> @param mode: new permissions</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> @type mode: int</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-64', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-65', 'DEBUG', 'link-17');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'chmod(%s, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-66', 'SFTPAttributes', 'link-9');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-67', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-68" class="py-name" targets="Variable paramiko.sftp.CMD_FSETSTAT=paramiko.sftp-module.html#CMD_FSETSTAT,Variable paramiko.sftp_attr.CMD_FSETSTAT=paramiko.sftp_attr-module.html#CMD_FSETSTAT,Variable paramiko.sftp_client.CMD_FSETSTAT=paramiko.sftp_client-module.html#CMD_FSETSTAT,Variable paramiko.sftp_file.CMD_FSETSTAT=paramiko.sftp_file-module.html#CMD_FSETSTAT,Variable paramiko.sftp_handle.CMD_FSETSTAT=paramiko.sftp_handle-module.html#CMD_FSETSTAT,Variable paramiko.sftp_server.CMD_FSETSTAT=paramiko.sftp_server-module.html#CMD_FSETSTAT,Variable paramiko.sftp_si.CMD_FSETSTAT=paramiko.sftp_si-module.html#CMD_FSETSTAT"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-68', 'CMD_FSETSTAT', 'link-68');">CMD_FSETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.chown"></a><div id="SFTPFile.chown-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="SFTPFile.chown-toggle" onclick="return toggle('SFTPFile.chown');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#chown">chown</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uid</tt><tt class="py-op">,</tt> <tt class="py-param">gid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.chown-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.chown-expanded"><a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> Change the owner (C{uid}) and group (C{gid}) of this file. As with</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> python's C{os.chown} function, you must pass both arguments, so if you</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> only want to change one, use L{stat} first to retrieve the current</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> owner and group.</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> @param uid: new owner's uid</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> @type uid: int</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> @param gid: new group id</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> @type gid: int</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-69', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-70', 'DEBUG', 'link-17');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'chown(%s, %r, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">uid</tt><tt class="py-op">,</tt> <tt class="py-name">gid</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-71', 'SFTPAttributes', 'link-9');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt> <tt class="py-op">=</tt> <tt class="py-name">uid</tt><tt class="py-op">,</tt> <tt class="py-name">gid</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-72', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-73', 'CMD_FSETSTAT', 'link-68');">CMD_FSETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.utime"></a><div id="SFTPFile.utime-def"><a name="L261"></a><tt class="py-lineno">261</tt> <a class="py-toggle" href="#" id="SFTPFile.utime-toggle" onclick="return toggle('SFTPFile.utime');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#utime">utime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">times</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.utime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.utime-expanded"><a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> Set the access and modified times of this file. If</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> C{times} is C{None}, then the file's access and modified times are set</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> to the current time. Otherwise, C{times} must be a 2-tuple of numbers,</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> of the form C{(atime, mtime)}, which is used to set the access and</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> modified times, respectively. This bizarre API is mimicked from python</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> for the sake of consistency -- I apologize.</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> @param times: C{None} or a tuple of (access time, modified time) in</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> standard internet epoch time (seconds since 01 January 1970 GMT)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> @type times: tuple(int)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">times</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-name">times</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-74', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-75', 'DEBUG', 'link-17');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'utime(%s, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">times</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-76', 'SFTPAttributes', 'link-9');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt> <tt class="py-op">=</tt> <tt class="py-name">times</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-77', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-78" class="py-name"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-78', 'CMD_FSETSTAT', 'link-68');">CMD_FSETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.truncate"></a><div id="SFTPFile.truncate-def"><a name="L281"></a><tt class="py-lineno">281</tt> <a class="py-toggle" href="#" id="SFTPFile.truncate-toggle" onclick="return toggle('SFTPFile.truncate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#truncate">truncate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.truncate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.truncate-expanded"><a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-docstring"> Change the size of this file. This usually extends</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"> or shrinks the size of the file, just like the C{truncate()} method on</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"><tt class="py-docstring"> python file objects.</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"><tt class="py-docstring"> @param size: the new size of the file</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"><tt class="py-docstring"> @type size: int or long</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-79', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-80', 'DEBUG', 'link-17');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'truncate(%s, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-81" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-81', 'SFTPAttributes', 'link-9');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-82', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-83', 'CMD_FSETSTAT', 'link-68');">CMD_FSETSTAT</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.check"></a><div id="SFTPFile.check-def"><a name="L295"></a><tt class="py-lineno">295</tt> <a class="py-toggle" href="#" id="SFTPFile.check-toggle" onclick="return toggle('SFTPFile.check');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#check">check</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hash_algorithm</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-param">length</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-param">block_size</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.check-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.check-expanded"><a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring"> Ask the server for a hash of a section of this file. This can be used</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> to verify a successful upload or download, or for various rsync-like</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"> operations.</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-docstring"> The file is hashed from C{offset}, for C{length} bytes. If C{length}</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"><tt class="py-docstring"> is 0, the remainder of the file is hashed. Thus, if both C{offset}</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"><tt class="py-docstring"> and C{length} are zero, the entire file is hashed.</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"><tt class="py-docstring"> Normally, C{block_size} will be 0 (the default), and this method will</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-docstring"> return a byte string representing the requested hash (for example, a</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-docstring"> string of length 16 for MD5, or 20 for SHA-1). If a non-zero</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"><tt class="py-docstring"> C{block_size} is given, each chunk of the file (from C{offset} to</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-docstring"> C{offset + length}) of C{block_size} bytes is computed as a separate</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"><tt class="py-docstring"> hash. The hash results are all concatenated and returned as a single</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"><tt class="py-docstring"> string.</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"><tt class="py-docstring"> For example, C{check('sha1', 0, 1024, 512)} will return a string of</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"><tt class="py-docstring"> length 40. The first 20 bytes will be the SHA-1 of the first 512 bytes</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"><tt class="py-docstring"> of the file, and the last 20 bytes will be the SHA-1 of the next 512</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"><tt class="py-docstring"> bytes.</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"><tt class="py-docstring"> @param hash_algorithm: the name of the hash algorithm to use (normally</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"><tt class="py-docstring"> C{"sha1"} or C{"md5"})</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"><tt class="py-docstring"> @type hash_algorithm: str</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"><tt class="py-docstring"> @param offset: offset into the file to begin hashing (0 means to start</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"><tt class="py-docstring"> from the beginning)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"><tt class="py-docstring"> @type offset: int or long</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"><tt class="py-docstring"> @param length: number of bytes to hash (0 means continue to the end of</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"><tt class="py-docstring"> the file)</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"><tt class="py-docstring"> @type length: int or long</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"><tt class="py-docstring"> @param block_size: number of bytes to hash per result (must not be less</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"><tt class="py-docstring"> than 256; 0 means to compute only one hash of the entire segment)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"><tt class="py-docstring"> @type block_size: int</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"><tt class="py-docstring"> @return: string of bytes representing the hash of each block,</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"><tt class="py-docstring"> concatenated together</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"><tt class="py-docstring"> @note: Many (most?) servers don't support this extension yet.</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"><tt class="py-docstring"> @raise IOError: if the server doesn't support the "check-file"</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-docstring"> extension, or possibly doesn't support the hash algorithm</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"><tt class="py-docstring"> requested</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-84', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name" targets="Variable paramiko.sftp.CMD_EXTENDED=paramiko.sftp-module.html#CMD_EXTENDED,Variable paramiko.sftp_attr.CMD_EXTENDED=paramiko.sftp_attr-module.html#CMD_EXTENDED,Variable paramiko.sftp_client.CMD_EXTENDED=paramiko.sftp_client-module.html#CMD_EXTENDED,Variable paramiko.sftp_file.CMD_EXTENDED=paramiko.sftp_file-module.html#CMD_EXTENDED,Variable paramiko.sftp_handle.CMD_EXTENDED=paramiko.sftp_handle-module.html#CMD_EXTENDED,Variable paramiko.sftp_server.CMD_EXTENDED=paramiko.sftp_server-module.html#CMD_EXTENDED,Variable paramiko.sftp_si.CMD_EXTENDED=paramiko.sftp_si-module.html#CMD_EXTENDED"><a title="paramiko.sftp.CMD_EXTENDED
-paramiko.sftp_attr.CMD_EXTENDED
-paramiko.sftp_client.CMD_EXTENDED
-paramiko.sftp_file.CMD_EXTENDED
-paramiko.sftp_handle.CMD_EXTENDED
-paramiko.sftp_server.CMD_EXTENDED
-paramiko.sftp_si.CMD_EXTENDED" class="py-name" href="#" onclick="return doclink('link-85', 'CMD_EXTENDED', 'link-85');">CMD_EXTENDED</a></tt><tt class="py-op">,</tt> <tt class="py-string">'check-file'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-name">hash_algorithm</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-name">ext</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-86', 'get_string', 'link-41');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-name">alg</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-87', 'get_string', 'link-41');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name" targets="Method paramiko.Message.get_remainder()=paramiko.Message-class.html#get_remainder"><a title="paramiko.Message.get_remainder" class="py-name" href="#" onclick="return doclink('link-88', 'get_remainder', 'link-88');">get_remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
-</div><a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.set_pipelined"></a><div id="SFTPFile.set_pipelined-def"><a name="L349"></a><tt class="py-lineno">349</tt> <a class="py-toggle" href="#" id="SFTPFile.set_pipelined-toggle" onclick="return toggle('SFTPFile.set_pipelined');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#set_pipelined">set_pipelined</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pipelined</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.set_pipelined-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.set_pipelined-expanded"><a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"><tt class="py-docstring"> Turn on/off the pipelining of write operations to this file. When</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"><tt class="py-docstring"> pipelining is on, paramiko won't wait for the server response after</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"><tt class="py-docstring"> each write operation. Instead, they're collected as they come in.</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"><tt class="py-docstring"> At the first non-write operation (including L{close}), all remaining</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"><tt class="py-docstring"> server responses are collected. This means that if there was an error</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"><tt class="py-docstring"> with one of your later writes, an exception might be thrown from</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"><tt class="py-docstring"> within L{close} instead of L{write}.</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"><tt class="py-docstring"> By default, files are I{not} pipelined.</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"><tt class="py-docstring"> @param pipelined: C{True} if pipelining should be turned on for this</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"><tt class="py-docstring"> file; C{False} otherwise</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"><tt class="py-docstring"> @type pipelined: bool</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pipelined</tt> <tt class="py-op">=</tt> <tt class="py-name">pipelined</tt> </tt>
-</div><a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.prefetch"></a><div id="SFTPFile.prefetch-def"><a name="L369"></a><tt class="py-lineno">369</tt> <a class="py-toggle" href="#" id="SFTPFile.prefetch-toggle" onclick="return toggle('SFTPFile.prefetch');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#prefetch">prefetch</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.prefetch-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.prefetch-expanded"><a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"><tt class="py-docstring"> Pre-fetch the remaining contents of this file in anticipation of</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"><tt class="py-docstring"> future L{read} calls. If reading the entire file, pre-fetching can</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"><tt class="py-docstring"> dramatically improve the download speed by avoiding roundtrip latency.</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"><tt class="py-docstring"> The file's contents are incrementally buffered in a background thread.</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"><tt class="py-docstring"> The prefetched data is stored in a buffer until read via the L{read}</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"><tt class="py-docstring"> method. Once data has been read, it's removed from the buffer. The</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"><tt class="py-docstring"> data may be read in a random order (using L{seek}); chunks of the</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"><tt class="py-docstring"> buffer that haven't been read will continue to be buffered.</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5.1</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method paramiko.SFTPClient.stat()=paramiko.SFTPClient-class.html#stat,Method paramiko.SFTPFile.stat()=paramiko.SFTPFile-class.html#stat,Method paramiko.SFTPHandle.stat()=paramiko.SFTPHandle-class.html#stat,Method paramiko.SFTPServerInterface.stat()=paramiko.SFTPServerInterface-class.html#stat"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-89', 'stat', 'link-89');">stat</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-comment"># queue up async reads for the rest of the file</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">chunks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_realpos</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">n</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-name">chunk</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="paramiko.SFTPFile.MAX_REQUEST_SIZE" class="py-name" href="#" onclick="return doclink('link-90', 'MAX_REQUEST_SIZE', 'link-10');">MAX_REQUEST_SIZE</a></tt><tt class="py-op">,</tt> <tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">chunks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-name">chunk</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">+=</tt> <tt class="py-name">chunk</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">chunks</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_start_prefetch</tt><tt class="py-op">(</tt><tt class="py-name">chunks</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile.readv"></a><div id="SFTPFile.readv-def"><a name="L394"></a><tt class="py-lineno">394</tt> <a class="py-toggle" href="#" id="SFTPFile.readv-toggle" onclick="return toggle('SFTPFile.readv');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#readv">readv</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chunks</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile.readv-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile.readv-expanded"><a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"><tt class="py-docstring"> Read a set of blocks from the file by (offset, length). This is more</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"><tt class="py-docstring"> efficient than doing a series of L{seek} and L{read} calls, since the</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"><tt class="py-docstring"> prefetch machinery is used to retrieve all the requested blocks at</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"><tt class="py-docstring"> once.</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"><tt class="py-docstring"> @param chunks: a list of (offset, length) tuples indicating which</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"><tt class="py-docstring"> sections of the file to read</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"><tt class="py-docstring"> @type chunks: list(tuple(long, int))</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"><tt class="py-docstring"> @return: a list of blocks read, in the same order as in C{chunks}</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list(str)</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5.4</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-91', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-92" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-92', 'DEBUG', 'link-17');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'readv(%s, %r)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">chunks</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-name">read_chunks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt> <tt class="py-keyword">in</tt> <tt class="py-name">chunks</tt><tt class="py-op">:</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-comment"># don't fetch data that's already in the prefetch buffer</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_in_prefetch_buffers</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_in_prefetch_requests</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-comment"># break up anything larger than the max read size</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">size</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-name">chunk_size</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="paramiko.SFTPFile.MAX_REQUEST_SIZE" class="py-name" href="#" onclick="return doclink('link-93', 'MAX_REQUEST_SIZE', 'link-10');">MAX_REQUEST_SIZE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-name">read_chunks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">chunk_size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-name">offset</tt> <tt class="py-op">+=</tt> <tt class="py-name">chunk_size</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">-=</tt> <tt class="py-name">chunk_size</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_start_prefetch</tt><tt class="py-op">(</tt><tt class="py-name">read_chunks</tt><tt class="py-op">)</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-comment"># now we can just devolve to a bunch of read()s :)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">chunks</tt><tt class="py-op">:</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method paramiko.BufferedFile.seek()=paramiko.BufferedFile-class.html#seek,Method paramiko.SFTPFile.seek()=paramiko.SFTPFile-class.html#seek"><a title="paramiko.BufferedFile.seek
-paramiko.SFTPFile.seek" class="py-name" href="#" onclick="return doclink('link-94', 'seek', 'link-94');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-95', 'read', 'link-95');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._get_size"></a><div id="SFTPFile._get_size-def"><a name="L434"></a><tt class="py-lineno">434</tt> <a class="py-toggle" href="#" id="SFTPFile._get_size-toggle" onclick="return toggle('SFTPFile._get_size');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_get_size">_get_size</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._get_size-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._get_size-expanded"><a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-96', 'stat', 'link-89');">stat</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._start_prefetch"></a><div id="SFTPFile._start_prefetch-def"><a name="L440"></a><tt class="py-lineno">440</tt> <a class="py-toggle" href="#" id="SFTPFile._start_prefetch-toggle" onclick="return toggle('SFTPFile._start_prefetch');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_start_prefetch">_start_prefetch</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chunks</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._start_prefetch-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._start_prefetch-expanded"><a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetching</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_done</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_reads</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">chunks</tt><tt class="py-op">)</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">(</tt><tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_thread</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">chunks</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">setDaemon</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._prefetch_thread"></a><div id="SFTPFile._prefetch_thread-def"><a name="L449"></a><tt class="py-lineno">449</tt> <a class="py-toggle" href="#" id="SFTPFile._prefetch_thread-toggle" onclick="return toggle('SFTPFile._prefetch_thread');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_prefetch_thread">_prefetch_thread</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chunks</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._prefetch_thread-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._prefetch_thread-expanded"><a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-comment"># do these read requests in a temporary thread because there may be</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-comment"># a lot of them, so it may block.</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt> <tt class="py-keyword">in</tt> <tt class="py-name">chunks</tt><tt class="py-op">:</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-97', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_async_request</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-98" class="py-name"><a title="paramiko.sftp.CMD_READ
-paramiko.sftp_attr.CMD_READ
-paramiko.sftp_client.CMD_READ
-paramiko.sftp_file.CMD_READ
-paramiko.sftp_handle.CMD_READ
-paramiko.sftp_server.CMD_READ
-paramiko.sftp_si.CMD_READ" class="py-name" href="#" onclick="return doclink('link-98', 'CMD_READ', 'link-38');">CMD_READ</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._async_response"></a><div id="SFTPFile._async_response-def"><a name="L455"></a><tt class="py-lineno">455</tt> <a class="py-toggle" href="#" id="SFTPFile._async_response-toggle" onclick="return toggle('SFTPFile._async_response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_async_response">_async_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._async_response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._async_response-expanded"><a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-99" class="py-name"><a title="paramiko.sftp.CMD_STATUS
-paramiko.sftp_attr.CMD_STATUS
-paramiko.sftp_client.CMD_STATUS
-paramiko.sftp_file.CMD_STATUS
-paramiko.sftp_handle.CMD_STATUS
-paramiko.sftp_server.CMD_STATUS
-paramiko.sftp_si.CMD_STATUS" class="py-name" href="#" onclick="return doclink('link-99', 'CMD_STATUS', 'link-48');">CMD_STATUS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-comment"># save exception and re-raise it on next file operation</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-100', 'sftp', 'link-3');">sftp</a></tt><tt class="py-op">.</tt><tt class="py-name">_convert_status</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">!=</tt> <tt id="link-101" class="py-name"><a title="paramiko.sftp.CMD_DATA
-paramiko.sftp_attr.CMD_DATA
-paramiko.sftp_client.CMD_DATA
-paramiko.sftp_file.CMD_DATA
-paramiko.sftp_handle.CMD_DATA
-paramiko.sftp_server.CMD_DATA
-paramiko.sftp_si.CMD_DATA" class="py-name" href="#" onclick="return doclink('link-101', 'CMD_DATA', 'link-39');">CMD_DATA</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-102" class="py-name"><a title="paramiko.SFTPError" class="py-name" href="#" onclick="return doclink('link-102', 'SFTPError', 'link-40');">SFTPError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expected data'</tt><tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-103', 'get_string', 'link-41');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"> <tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_reads</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_data</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_reads</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_prefetch_done</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> </tt>
-<a name="SFTPFile._check_exception"></a><div id="SFTPFile._check_exception-def"><a name="L471"></a><tt class="py-lineno">471</tt> <a class="py-toggle" href="#" id="SFTPFile._check_exception-toggle" onclick="return toggle('SFTPFile._check_exception');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_file.SFTPFile-class.html#_check_exception">_check_exception</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPFile._check_exception-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPFile._check_exception-expanded"><a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-docstring">"if there's a saved exception, raise &amp; clear it"</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_saved_exception</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_saved_exception</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">x</tt> </tt>
-</div></div><a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_handle-module.html b/docs/paramiko.sftp_handle-module.html
deleted file mode 100644
index cdd3c6a..0000000
--- a/docs/paramiko.sftp_handle-module.html
+++ /dev/null
@@ -1,907 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_handle</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_handle
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_handle-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp_handle</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp_handle-pysrc.html">source&nbsp;code</a></span></p>
-<p>Abstraction of an SFTP file handle (for server mode).</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_handle-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_handle-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_handle-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_handle-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_handle-pysrc.html b/docs/paramiko.sftp_handle-pysrc.html
deleted file mode 100644
index 58844a7..0000000
--- a/docs/paramiko.sftp_handle-pysrc.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_handle</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_handle
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_handle-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp_handle-module.html" onclick="show_private();">Module paramiko.sftp_handle</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Abstraction of an SFTP file handle (for server mode).</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-3', 'sftp', 'link-3');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle"></a><div id="SFTPHandle-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="SFTPHandle-toggle" onclick="return toggle('SFTPHandle');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html">SFTPHandle</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPHandle-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> Abstract object representing a handle to an open file (or folder) in an</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> SFTP server implementation. Each handle has a string representation used</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"> by the client to refer to the underlying file.</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> Server implementations can (and should) subclass SFTPHandle to implement</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> features of a file handle, like L{stat} or L{chattr}.</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="SFTPHandle.__init__"></a><div id="SFTPHandle.__init__-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="SFTPHandle.__init__-toggle" onclick="return toggle('SFTPHandle.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle.__init__-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> Create a new file handle representing a local file being served over</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> SFTP. If C{flags} is passed in, it's used to determine if the file</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> is open in append mode.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> @param flags: optional flags as passed to L{SFTPServerInterface.open}</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> @type flags: int</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__flags</tt> <tt class="py-op">=</tt> <tt class="py-name">flags</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-comment"># only for handles to folders:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__files</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle.close"></a><div id="SFTPHandle.close-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="SFTPHandle.close-toggle" onclick="return toggle('SFTPHandle.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle.close-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> When a client closes a file, this method is called on the handle.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> Normally you would use this method to close the underlying OS level</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> file object(s).</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation checks for attributes on C{self} named</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> C{readfile} and/or C{writefile}, and if either or both are present,</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> their C{close()} methods are called. This means that if you are</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> using the default implementations of L{read} and L{write}, this</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> method's default implementation should be fine also.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">readfile</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'readfile'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">readfile</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">readfile</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-4', 'close', 'link-4');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">writefile</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'writefile'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">writefile</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">writefile</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-5', 'close', 'link-4');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle.read"></a><div id="SFTPHandle.read-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="SFTPHandle.read-toggle" onclick="return toggle('SFTPHandle.read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">,</tt> <tt class="py-param">length</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle.read-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> Read up to C{length} bytes from this file, starting at position</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> C{offset}. The offset may be a python long, since SFTP allows it</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> to be 64 bits.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> If the end of the file has been reached, this method may return an</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> empty string to signify EOF, or it may also return L{SFTP_EOF}.</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation checks for an attribute on C{self} named</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> C{readfile}, and if present, performs the read operation on the python</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"> file-like object found there. (This is meant as a time saver for the</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> common case where you are wrapping a python file object.)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> @param offset: position in the file to start reading from.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> @type offset: int or long</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> @param length: number of bytes to attempt to read.</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> @type length: int</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> @return: data read from the file, or an SFTP error code.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">readfile</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'readfile'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">readfile</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name" targets="Variable paramiko.sftp.SFTP_OP_UNSUPPORTED=paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_attr.SFTP_OP_UNSUPPORTED=paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_client.SFTP_OP_UNSUPPORTED=paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_file.SFTP_OP_UNSUPPORTED=paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_handle.SFTP_OP_UNSUPPORTED=paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_server.SFTP_OP_UNSUPPORTED=paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_si.SFTP_OP_UNSUPPORTED=paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-6', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">readfile</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method paramiko.BufferedFile.tell()=paramiko.BufferedFile-class.html#tell"><a title="paramiko.BufferedFile.tell" class="py-name" href="#" onclick="return doclink('link-7', 'tell', 'link-7');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">offset</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">readfile</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method paramiko.BufferedFile.seek()=paramiko.BufferedFile-class.html#seek,Method paramiko.SFTPFile.seek()=paramiko.SFTPFile-class.html#seek"><a title="paramiko.BufferedFile.seek
-paramiko.SFTPFile.seek" class="py-name" href="#" onclick="return doclink('link-8', 'seek', 'link-8');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">readfile</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-9', 'read', 'link-9');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-10" class="py-name" targets="Class paramiko.SFTPServer=paramiko.SFTPServer-class.html"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-10', 'SFTPServer', 'link-10');">SFTPServer</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Static Method paramiko.SFTPServer.convert_errno()=paramiko.SFTPServer-class.html#convert_errno"><a title="paramiko.SFTPServer.convert_errno" class="py-name" href="#" onclick="return doclink('link-11', 'convert_errno', 'link-11');">convert_errno</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle.write"></a><div id="SFTPHandle.write-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="SFTPHandle.write-toggle" onclick="return toggle('SFTPHandle.write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">offset</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle.write-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> Write C{data} into this file at position C{offset}. Extending the</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> file past its original end is expected. Unlike python's normal</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> C{write()} methods, this method cannot do a partial write: it must</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> write all of C{data} or else return an error.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation checks for an attribute on C{self} named</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> C{writefile}, and if present, performs the write operation on the</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> python file-like object found there. The attribute is named</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> differently from C{readfile} to make it easy to implement read-only</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> (or write-only) files, but if both attributes are present, they should</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> refer to the same file.</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> @param offset: position in the file to start reading from.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> @type offset: int or long</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> @param data: data to write into the file.</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> @type data: str</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SFTP error code like L{SFTP_OK}.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">writefile</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'writefile'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">writefile</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-12" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-12', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-comment"># in append mode, don't care about seeking</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_APPEND</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">writefile</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="paramiko.BufferedFile.tell" class="py-name" href="#" onclick="return doclink('link-13', 'tell', 'link-7');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">offset</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">writefile</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="paramiko.BufferedFile.seek
-paramiko.SFTPFile.seek" class="py-name" href="#" onclick="return doclink('link-14', 'seek', 'link-8');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">writefile</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-15', 'write', 'link-15');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">writefile</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method paramiko.BufferedFile.flush()=paramiko.BufferedFile-class.html#flush"><a title="paramiko.BufferedFile.flush" class="py-name" href="#" onclick="return doclink('link-16', 'flush', 'link-16');">flush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-17" class="py-name"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-17', 'SFTPServer', 'link-10');">SFTPServer</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="paramiko.SFTPServer.convert_errno" class="py-name" href="#" onclick="return doclink('link-18', 'convert_errno', 'link-11');">convert_errno</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">errno</tt><tt class="py-op">)</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__tell</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name" targets="Variable paramiko.sftp.SFTP_OK=paramiko.sftp-module.html#SFTP_OK,Variable paramiko.sftp_attr.SFTP_OK=paramiko.sftp_attr-module.html#SFTP_OK,Variable paramiko.sftp_client.SFTP_OK=paramiko.sftp_client-module.html#SFTP_OK,Variable paramiko.sftp_file.SFTP_OK=paramiko.sftp_file-module.html#SFTP_OK,Variable paramiko.sftp_handle.SFTP_OK=paramiko.sftp_handle-module.html#SFTP_OK,Variable paramiko.sftp_server.SFTP_OK=paramiko.sftp_server-module.html#SFTP_OK,Variable paramiko.sftp_si.SFTP_OK=paramiko.sftp_si-module.html#SFTP_OK"><a title="paramiko.sftp.SFTP_OK
-paramiko.sftp_attr.SFTP_OK
-paramiko.sftp_client.SFTP_OK
-paramiko.sftp_file.SFTP_OK
-paramiko.sftp_handle.SFTP_OK
-paramiko.sftp_server.SFTP_OK
-paramiko.sftp_si.SFTP_OK" class="py-name" href="#" onclick="return doclink('link-19', 'SFTP_OK', 'link-19');">SFTP_OK</a></tt> </tt>
-</div><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle.stat"></a><div id="SFTPHandle.stat-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="SFTPHandle.stat-toggle" onclick="return toggle('SFTPHandle.stat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#stat">stat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle.stat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle.stat-expanded"><a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"> Return an L{SFTPAttributes} object referring to this open file, or an</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> error code. This is equivalent to L{SFTPServerInterface.stat}, except</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> it's called on an open file instead of a path.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> @return: an attributes object for the given file, or an SFTP error</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> code (like L{SFTP_PERMISSION_DENIED}).</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPAttributes} I{or error code}</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-20', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle.chattr"></a><div id="SFTPHandle.chattr-def"><a name="L161"></a><tt class="py-lineno">161</tt> <a class="py-toggle" href="#" id="SFTPHandle.chattr-toggle" onclick="return toggle('SFTPHandle.chattr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#chattr">chattr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle.chattr-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle.chattr-expanded"><a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> Change the attributes of this file. The C{attr} object will contain</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> only those fields provided by the client in its request, so you should</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> check for the presence of fields before using them.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> @param attr: the attributes to change on this file.</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> @type attr: L{SFTPAttributes}</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> @return: an error code like L{SFTP_OK}.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-21" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-21', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle._set_files"></a><div id="SFTPHandle._set_files-def"><a name="L178"></a><tt class="py-lineno">178</tt> <a class="py-toggle" href="#" id="SFTPHandle._set_files-toggle" onclick="return toggle('SFTPHandle._set_files');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#_set_files">_set_files</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">files</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle._set_files-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle._set_files-expanded"><a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> Used by the SFTP server code to cache a directory listing. (In</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> the SFTP protocol, listing a directory is a multi-stage process</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> requiring a temporary handle.)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__files</tt> <tt class="py-op">=</tt> <tt class="py-name">files</tt> </tt>
-</div><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle._get_next_files"></a><div id="SFTPHandle._get_next_files-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="SFTPHandle._get_next_files-toggle" onclick="return toggle('SFTPHandle._get_next_files');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#_get_next_files">_get_next_files</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle._get_next_files-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle._get_next_files-expanded"><a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> Used by the SFTP server code to retreive a cached directory</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> listing.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">fnlist</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__files</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">16</tt><tt class="py-op">]</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__files</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__files</tt><tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">fnlist</tt> </tt>
-</div><a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle._get_name"></a><div id="SFTPHandle._get_name-def"><a name="L195"></a><tt class="py-lineno">195</tt> <a class="py-toggle" href="#" id="SFTPHandle._get_name-toggle" onclick="return toggle('SFTPHandle._get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#_get_name">_get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle._get_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle._get_name-expanded"><a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt> </tt>
-</div><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> </tt>
-<a name="SFTPHandle._set_name"></a><div id="SFTPHandle._set_name-def"><a name="L198"></a><tt class="py-lineno">198</tt> <a class="py-toggle" href="#" id="SFTPHandle._set_name-toggle" onclick="return toggle('SFTPHandle._set_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_handle.SFTPHandle-class.html#_set_name">_set_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPHandle._set_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPHandle._set_name-expanded"><a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__name</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-22', 'name', 'link-22');">name</a></tt> </tt>
-</div></div><a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-23" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-23', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Module paramiko.sftp_server=paramiko.sftp_server-module.html"><a title="paramiko.sftp_server" class="py-name" href="#" onclick="return doclink('link-24', 'sftp_server', 'link-24');">sftp_server</a></tt> <tt class="py-keyword">import</tt> <tt id="link-25" class="py-name"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-25', 'SFTPServer', 'link-10');">SFTPServer</a></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_server-module.html b/docs/paramiko.sftp_server-module.html
deleted file mode 100644
index 80561a9..0000000
--- a/docs/paramiko.sftp_server-module.html
+++ /dev/null
@@ -1,907 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_server</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_server
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_server-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp_server</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp_server-pysrc.html">source&nbsp;code</a></span></p>
-<p>Server-mode SFTP support.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_server-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_server-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_server-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_server-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:02 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_server-pysrc.html b/docs/paramiko.sftp_server-pysrc.html
deleted file mode 100644
index 834740d..0000000
--- a/docs/paramiko.sftp_server-pysrc.html
+++ /dev/null
@@ -1,1196 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_server</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_server
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_server-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp_server-module.html" onclick="show_private();">Module paramiko.sftp_server</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Server-mode SFTP support.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">errno</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MD5</tt><tt class="py-op">,</tt> <tt class="py-name">SHA</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.server=paramiko.server-module.html"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-3', 'server', 'link-3');">server</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class paramiko.SubsystemHandler=paramiko.SubsystemHandler-class.html"><a title="paramiko.SubsystemHandler" class="py-name" href="#" onclick="return doclink('link-4', 'SubsystemHandler', 'link-4');">SubsystemHandler</a></tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-5', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-6', 'sftp', 'link-6');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.sftp_si=paramiko.sftp_si-module.html"><a title="paramiko.sftp_si" class="py-name" href="#" onclick="return doclink('link-8', 'sftp_si', 'link-8');">sftp_si</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-9', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Module paramiko.sftp_attr=paramiko.sftp_attr-module.html"><a title="paramiko.sftp_attr" class="py-name" href="#" onclick="return doclink('link-10', 'sftp_attr', 'link-10');">sftp_attr</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-comment"># known hash algorithms for the "check-file" extension</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable paramiko.sftp_server._hash_class=paramiko.sftp_server-module.html#_hash_class"><a title="paramiko.sftp_server._hash_class" class="py-name" href="#" onclick="return doclink('link-11', '_hash_class', 'link-11');">_hash_class</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-string">'sha1'</tt><tt class="py-op">:</tt> <tt class="py-name">SHA</tt><tt class="py-op">,</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-string">'md5'</tt><tt class="py-op">:</tt> <tt class="py-name">MD5</tt><tt class="py-op">,</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer"></a><div id="SFTPServer-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="SFTPServer-toggle" onclick="return toggle('SFTPServer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html">SFTPServer</a> <tt class="py-op">(</tt><tt class="py-base-class">BaseSFTP</tt><tt class="py-op">,</tt> <tt class="py-base-class">SubsystemHandler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPServer-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> Server-side SFTP subsystem support. Since this is a L{SubsystemHandler},</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> it can be (and is meant to be) set as the handler for C{"sftp"} requests.</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> Use L{Transport.set_subsystem_handler} to activate this class.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer.__init__"></a><div id="SFTPServer.__init__-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="SFTPServer.__init__-toggle" onclick="return toggle('SFTPServer.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">server</tt><tt class="py-op">,</tt> <tt class="py-param">sftp_si</tt><tt class="py-op">=</tt><tt id="link-12" class="py-name" targets="Class paramiko.SFTPServerInterface=paramiko.SFTPServerInterface-class.html"><a title="paramiko.SFTPServerInterface" class="py-name" href="#" onclick="return doclink('link-12', 'SFTPServerInterface', 'link-12');">SFTPServerInterface</a></tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">largs</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer.__init__-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> The constructor for SFTPServer is meant to be called from within the</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport} as a subsystem handler. C{server} and any additional</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> parameters or keyword parameters are passed from the original call to</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport.set_subsystem_handler}.</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> @param channel: channel passed from the L{Transport}.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> @type channel: L{Channel}</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name of the requested subsystem.</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> @param server: the server object associated with this channel and</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> subsystem</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> @type server: L{ServerInterface}</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> @param sftp_si: a subclass of L{SFTPServerInterface} to use for handling</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> individual requests.</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> @type sftp_si: class</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">BaseSFTP</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-13', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-14" class="py-name"><a title="paramiko.SubsystemHandler" class="py-name" href="#" onclick="return doclink('link-14', 'SubsystemHandler', 'link-4');">SubsystemHandler</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-15', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name" targets="Module paramiko.channel=paramiko.channel-module.html"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-16', 'channel', 'link-16');">channel</a></tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-17', 'name', 'link-17');">name</a></tt><tt class="py-op">,</tt> <tt id="link-18" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-18', 'server', 'link-3');">server</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt id="link-19" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-19', 'transport', 'link-19');">transport</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-20', 'channel', 'link-16');">channel</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method paramiko.Channel.get_transport()=paramiko.Channel-class.html#get_transport,Method paramiko.SSHClient.get_transport()=paramiko.SSHClient-class.html#get_transport"><a title="paramiko.Channel.get_transport
-paramiko.SSHClient.get_transport" class="py-name" href="#" onclick="return doclink('link-21', 'get_transport', 'link-21');">get_transport</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Class paramiko.logging22.logger=paramiko.logging22.logger-class.html"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-22', 'logger', 'link-22');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-23', 'util', 'link-23');">util</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Function paramiko.util.get_logger()=paramiko.util-module.html#get_logger"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-24', 'get_logger', 'link-24');">get_logger</a></tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-25', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.Transport.get_log_channel()=paramiko.Transport-class.html#get_log_channel"><a title="paramiko.Transport.get_log_channel" class="py-name" href="#" onclick="return doclink('link-26', 'get_log_channel', 'link-26');">get_log_channel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'.sftp'</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ultra_debug</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-27', 'transport', 'link-19');">transport</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method paramiko.Transport.get_hexdump()=paramiko.Transport-class.html#get_hexdump"><a title="paramiko.Transport.get_hexdump" class="py-name" href="#" onclick="return doclink('link-28', 'get_hexdump', 'link-28');">get_hexdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">next_handle</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-comment"># map of handle-string to SFTPHandle for files &amp; folders:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-29', 'server', 'link-3');">server</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="paramiko.sftp_si" class="py-name" href="#" onclick="return doclink('link-30', 'sftp_si', 'link-8');">sftp_si</a></tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-31', 'server', 'link-3');">server</a></tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">largs</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._log"></a><div id="SFTPServer._log-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="SFTPServer._log-toggle" onclick="return toggle('SFTPServer._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._log-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msg</tt><tt class="py-op">:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-32" class="py-name" targets="Class paramiko.SFTPServer=paramiko.SFTPServer-class.html"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-32', 'SFTPServer', 'link-32');">SFTPServer</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-string">"[chan "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-33', 'get_name', 'link-33');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-34', 'SFTPServer', 'link-32');">SFTPServer</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-string">"[chan "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-35', 'get_name', 'link-33');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer.start_subsystem"></a><div id="SFTPServer.start_subsystem-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="SFTPServer.start_subsystem-toggle" onclick="return toggle('SFTPServer.start_subsystem');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#start_subsystem">start_subsystem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer.start_subsystem-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer.start_subsystem-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-36', 'channel', 'link-16');">channel</a></tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-37', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Started sftp server on channel %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-38" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-38', 'channel', 'link-16');">channel</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_server_version</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-39', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method paramiko.SFTPServerInterface.session_started()=paramiko.SFTPServerInterface-class.html#session_started"><a title="paramiko.SFTPServerInterface.session_started" class="py-name" href="#" onclick="return doclink('link-40', 'session_started', 'link-40');">session_started</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_packet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-41', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'EOF -- end of session'</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-42', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Exception on channel: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-43', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-44', 'util', 'link-23');">util</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Function paramiko.util.tb_strings()=paramiko.util-module.html#tb_strings"><a title="paramiko.util.tb_strings" class="py-name" href="#" onclick="return doclink('link-45', 'tb_strings', 'link-45');">tb_strings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-46', 'Message', 'link-46');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">request_number</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-47', 'get_int', 'link-47');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_process</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-48" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-48', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Exception in server processing: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-49" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-49', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-50', 'util', 'link-23');">util</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="paramiko.util.tb_strings" class="py-name" href="#" onclick="return doclink('link-51', 'tb_strings', 'link-45');">tb_strings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-comment"># send some kind of failure message, at least</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name" targets="Variable paramiko.sftp.SFTP_FAILURE=paramiko.sftp-module.html#SFTP_FAILURE,Variable paramiko.sftp_attr.SFTP_FAILURE=paramiko.sftp_attr-module.html#SFTP_FAILURE,Variable paramiko.sftp_client.SFTP_FAILURE=paramiko.sftp_client-module.html#SFTP_FAILURE,Variable paramiko.sftp_file.SFTP_FAILURE=paramiko.sftp_file-module.html#SFTP_FAILURE,Variable paramiko.sftp_handle.SFTP_FAILURE=paramiko.sftp_handle-module.html#SFTP_FAILURE,Variable paramiko.sftp_server.SFTP_FAILURE=paramiko.sftp_server-module.html#SFTP_FAILURE,Variable paramiko.sftp_si.SFTP_FAILURE=paramiko.sftp_si-module.html#SFTP_FAILURE"><a title="paramiko.sftp.SFTP_FAILURE
-paramiko.sftp_attr.SFTP_FAILURE
-paramiko.sftp_client.SFTP_FAILURE
-paramiko.sftp_file.SFTP_FAILURE
-paramiko.sftp_handle.SFTP_FAILURE
-paramiko.sftp_server.SFTP_FAILURE
-paramiko.sftp_si.SFTP_FAILURE" class="py-name" href="#" onclick="return doclink('link-52', 'SFTP_FAILURE', 'link-52');">SFTP_FAILURE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer.finish_subsystem"></a><div id="SFTPServer.finish_subsystem-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="SFTPServer.finish_subsystem-toggle" onclick="return toggle('SFTPServer.finish_subsystem');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#finish_subsystem">finish_subsystem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer.finish_subsystem-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer.finish_subsystem-expanded"><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-53', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method paramiko.SFTPServerInterface.session_ended()=paramiko.SFTPServerInterface-class.html#session_ended"><a title="paramiko.SFTPServerInterface.session_ended" class="py-name" href="#" onclick="return doclink('link-54', 'session_ended', 'link-54');">session_ended</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-55" class="py-name"><a title="paramiko.SFTPServer" class="py-name" href="#" onclick="return doclink('link-55', 'SFTPServer', 'link-32');">SFTPServer</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method paramiko.SFTPServer.finish_subsystem()=paramiko.SFTPServer-class.html#finish_subsystem,Method paramiko.SubsystemHandler.finish_subsystem()=paramiko.SubsystemHandler-class.html#finish_subsystem"><a title="paramiko.SFTPServer.finish_subsystem
-paramiko.SubsystemHandler.finish_subsystem" class="py-name" href="#" onclick="return doclink('link-56', 'finish_subsystem', 'link-56');">finish_subsystem</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-comment"># close any file handles that were left open (so we can return them to the OS quickly)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">.</tt><tt class="py-name">itervalues</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-57', 'close', 'link-57');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt><tt class="py-op">.</tt><tt class="py-name">itervalues</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-58', 'close', 'link-57');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer.convert_errno"></a><div id="SFTPServer.convert_errno-def"><a name="L123"></a><tt class="py-lineno">123</tt> <a class="py-toggle" href="#" id="SFTPServer.convert_errno-toggle" onclick="return toggle('SFTPServer.convert_errno');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#convert_errno">convert_errno</a><tt class="py-op">(</tt><tt class="py-param">e</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer.convert_errno-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer.convert_errno-expanded"><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> Convert an errno value (as from an C{OSError} or C{IOError}) into a</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> standard SFTP result code. This is a convenience function for trapping</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> exceptions in server code and returning an appropriate result.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> @param e: an errno code, as from C{OSError.errno}.</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> @type e: int</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SFTP error code like L{SFTP_NO_SUCH_FILE}.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">EACCES</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-comment"># permission denied</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-59" class="py-name" targets="Variable paramiko.sftp.SFTP_PERMISSION_DENIED=paramiko.sftp-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_attr.SFTP_PERMISSION_DENIED=paramiko.sftp_attr-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_client.SFTP_PERMISSION_DENIED=paramiko.sftp_client-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_file.SFTP_PERMISSION_DENIED=paramiko.sftp_file-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_handle.SFTP_PERMISSION_DENIED=paramiko.sftp_handle-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_server.SFTP_PERMISSION_DENIED=paramiko.sftp_server-module.html#SFTP_PERMISSION_DENIED,Variable paramiko.sftp_si.SFTP_PERMISSION_DENIED=paramiko.sftp_si-module.html#SFTP_PERMISSION_DENIED"><a title="paramiko.sftp.SFTP_PERMISSION_DENIED
-paramiko.sftp_attr.SFTP_PERMISSION_DENIED
-paramiko.sftp_client.SFTP_PERMISSION_DENIED
-paramiko.sftp_file.SFTP_PERMISSION_DENIED
-paramiko.sftp_handle.SFTP_PERMISSION_DENIED
-paramiko.sftp_server.SFTP_PERMISSION_DENIED
-paramiko.sftp_si.SFTP_PERMISSION_DENIED" class="py-name" href="#" onclick="return doclink('link-59', 'SFTP_PERMISSION_DENIED', 'link-59');">SFTP_PERMISSION_DENIED</a></tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">ENOENT</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt> <tt class="py-op">==</tt> <tt class="py-name">errno</tt><tt class="py-op">.</tt><tt class="py-name">ENOTDIR</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-comment"># no such file</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-60" class="py-name" targets="Variable paramiko.sftp.SFTP_NO_SUCH_FILE=paramiko.sftp-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_attr.SFTP_NO_SUCH_FILE=paramiko.sftp_attr-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_client.SFTP_NO_SUCH_FILE=paramiko.sftp_client-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_file.SFTP_NO_SUCH_FILE=paramiko.sftp_file-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_handle.SFTP_NO_SUCH_FILE=paramiko.sftp_handle-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_server.SFTP_NO_SUCH_FILE=paramiko.sftp_server-module.html#SFTP_NO_SUCH_FILE,Variable paramiko.sftp_si.SFTP_NO_SUCH_FILE=paramiko.sftp_si-module.html#SFTP_NO_SUCH_FILE"><a title="paramiko.sftp.SFTP_NO_SUCH_FILE
-paramiko.sftp_attr.SFTP_NO_SUCH_FILE
-paramiko.sftp_client.SFTP_NO_SUCH_FILE
-paramiko.sftp_file.SFTP_NO_SUCH_FILE
-paramiko.sftp_handle.SFTP_NO_SUCH_FILE
-paramiko.sftp_server.SFTP_NO_SUCH_FILE
-paramiko.sftp_si.SFTP_NO_SUCH_FILE" class="py-name" href="#" onclick="return doclink('link-60', 'SFTP_NO_SUCH_FILE', 'link-60');">SFTP_NO_SUCH_FILE</a></tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-61" class="py-name"><a title="paramiko.sftp.SFTP_FAILURE
-paramiko.sftp_attr.SFTP_FAILURE
-paramiko.sftp_client.SFTP_FAILURE
-paramiko.sftp_file.SFTP_FAILURE
-paramiko.sftp_handle.SFTP_FAILURE
-paramiko.sftp_server.SFTP_FAILURE
-paramiko.sftp_si.SFTP_FAILURE" class="py-name" href="#" onclick="return doclink('link-61', 'SFTP_FAILURE', 'link-52');">SFTP_FAILURE</a></tt> </tt>
-</div><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt id="link-62" class="py-name" targets="Static Method paramiko.SFTPServer.convert_errno()=paramiko.SFTPServer-class.html#convert_errno"><a title="paramiko.SFTPServer.convert_errno" class="py-name" href="#" onclick="return doclink('link-62', 'convert_errno', 'link-62');">convert_errno</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-63" class="py-name"><a title="paramiko.SFTPServer.convert_errno" class="py-name" href="#" onclick="return doclink('link-63', 'convert_errno', 'link-62');">convert_errno</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer.set_file_attr"></a><div id="SFTPServer.set_file_attr-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="SFTPServer.set_file_attr-toggle" onclick="return toggle('SFTPServer.set_file_attr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#set_file_attr">set_file_attr</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">attr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer.set_file_attr-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer.set_file_attr-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> Change a file's attributes on the local filesystem. The contents of</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> C{attr} are used to change the permissions, owner, group ownership,</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"> and/or modification &amp; access time of the file, depending on which</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> attributes are present in C{attr}.</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"> This is meant to be a handy helper function for translating SFTP file</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> requests into local file operations.</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to alter (should usually be an</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> absolute path).</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> @param attr: attributes to change.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> @type attr: L{SFTPAttributes}</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">platform</tt> <tt class="py-op">!=</tt> <tt class="py-string">'win32'</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-comment"># mode operations are meaningless on win32</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_PERMISSIONS=paramiko.SFTPAttributes-class.html#FLAG_PERMISSIONS"><a title="paramiko.SFTPAttributes.FLAG_PERMISSIONS" class="py-name" href="#" onclick="return doclink('link-64', 'FLAG_PERMISSIONS', 'link-64');">FLAG_PERMISSIONS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method paramiko.SFTPClient.chmod()=paramiko.SFTPClient-class.html#chmod,Method paramiko.SFTPFile.chmod()=paramiko.SFTPFile-class.html#chmod"><a title="paramiko.SFTPClient.chmod
-paramiko.SFTPFile.chmod" class="py-name" href="#" onclick="return doclink('link-65', 'chmod', 'link-65');">chmod</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mode</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_UIDGID=paramiko.SFTPAttributes-class.html#FLAG_UIDGID"><a title="paramiko.SFTPAttributes.FLAG_UIDGID" class="py-name" href="#" onclick="return doclink('link-66', 'FLAG_UIDGID', 'link-66');">FLAG_UIDGID</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method paramiko.SFTPClient.chown()=paramiko.SFTPClient-class.html#chown,Method paramiko.SFTPFile.chown()=paramiko.SFTPFile-class.html#chown"><a title="paramiko.SFTPClient.chown
-paramiko.SFTPFile.chown" class="py-name" href="#" onclick="return doclink('link-67', 'chown', 'link-67');">chown</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_uid</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_gid</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_AMTIME=paramiko.SFTPAttributes-class.html#FLAG_AMTIME"><a title="paramiko.SFTPAttributes.FLAG_AMTIME" class="py-name" href="#" onclick="return doclink('link-68', 'FLAG_AMTIME', 'link-68');">FLAG_AMTIME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method paramiko.SFTPClient.utime()=paramiko.SFTPClient-class.html#utime,Method paramiko.SFTPFile.utime()=paramiko.SFTPFile-class.html#utime"><a title="paramiko.SFTPClient.utime
-paramiko.SFTPFile.utime" class="py-name" href="#" onclick="return doclink('link-69', 'utime', 'link-69');">utime</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_atime</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_mtime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">_flags</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Variable paramiko.SFTPAttributes.FLAG_SIZE=paramiko.SFTPAttributes-class.html#FLAG_SIZE"><a title="paramiko.SFTPAttributes.FLAG_SIZE" class="py-name" href="#" onclick="return doclink('link-70', 'FLAG_SIZE', 'link-70');">FLAG_SIZE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt id="link-71" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-71', 'open', 'link-71');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w+'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method paramiko.SFTPClient.truncate()=paramiko.SFTPClient-class.html#truncate,Method paramiko.SFTPFile.truncate()=paramiko.SFTPFile-class.html#truncate"><a title="paramiko.SFTPClient.truncate
-paramiko.SFTPFile.truncate" class="py-name" href="#" onclick="return doclink('link-72', 'truncate', 'link-72');">truncate</a></tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt id="link-73" class="py-name" targets="Static Method paramiko.SFTPServer.set_file_attr()=paramiko.SFTPServer-class.html#set_file_attr"><a title="paramiko.SFTPServer.set_file_attr" class="py-name" href="#" onclick="return doclink('link-73', 'set_file_attr', 'link-73');">set_file_attr</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-74" class="py-name"><a title="paramiko.SFTPServer.set_file_attr" class="py-name" href="#" onclick="return doclink('link-74', 'set_file_attr', 'link-73');">set_file_attr</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._response"></a><div id="SFTPServer._response-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="SFTPServer._response-toggle" onclick="return toggle('SFTPServer._response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_response">_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">arg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._response-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-75', 'Message', 'link-46');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-76', 'add_int', 'link-76');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">arg</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">int</tt><tt class="py-op">:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-77', 'add_int', 'link-76');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">long</tt><tt class="py-op">:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method paramiko.Message.add_int64()=paramiko.Message-class.html#add_int64"><a title="paramiko.Message.add_int64" class="py-name" href="#" onclick="return doclink('link-78', 'add_int64', 'link-78');">add_int64</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-79', 'add_string', 'link-79');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt id="link-80" class="py-name" targets="Class paramiko.SFTPAttributes=paramiko.SFTPAttributes-class.html"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-80', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">item</tt><tt class="py-op">.</tt><tt class="py-name">_pack</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'unknown type for '</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' type '</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_packet</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._send_handle_response"></a><div id="SFTPServer._send_handle_response-def"><a name="L192"></a><tt class="py-lineno">192</tt> <a class="py-toggle" href="#" id="SFTPServer._send_handle_response-toggle" onclick="return toggle('SFTPServer._send_handle_response');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_send_handle_response">_send_handle_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">folder</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._send_handle_response-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._send_handle_response-expanded"><a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">handle</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-81" class="py-name" targets="Class paramiko.SFTPHandle=paramiko.SFTPHandle-class.html"><a title="paramiko.SFTPHandle" class="py-name" href="#" onclick="return doclink('link-81', 'SFTPHandle', 'link-81');">SFTPHandle</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-comment"># must be error code</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">_set_name</tt><tt class="py-op">(</tt><tt class="py-string">'hx%d'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">next_handle</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">next_handle</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">folder</tt><tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">_get_name</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">_get_name</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-82" class="py-name" targets="Variable paramiko.sftp.CMD_HANDLE=paramiko.sftp-module.html#CMD_HANDLE,Variable paramiko.sftp_attr.CMD_HANDLE=paramiko.sftp_attr-module.html#CMD_HANDLE,Variable paramiko.sftp_client.CMD_HANDLE=paramiko.sftp_client-module.html#CMD_HANDLE,Variable paramiko.sftp_file.CMD_HANDLE=paramiko.sftp_file-module.html#CMD_HANDLE,Variable paramiko.sftp_handle.CMD_HANDLE=paramiko.sftp_handle-module.html#CMD_HANDLE,Variable paramiko.sftp_server.CMD_HANDLE=paramiko.sftp_server-module.html#CMD_HANDLE,Variable paramiko.sftp_si.CMD_HANDLE=paramiko.sftp_si-module.html#CMD_HANDLE"><a title="paramiko.sftp.CMD_HANDLE
-paramiko.sftp_attr.CMD_HANDLE
-paramiko.sftp_client.CMD_HANDLE
-paramiko.sftp_file.CMD_HANDLE
-paramiko.sftp_handle.CMD_HANDLE
-paramiko.sftp_server.CMD_HANDLE
-paramiko.sftp_si.CMD_HANDLE" class="py-name" href="#" onclick="return doclink('link-82', 'CMD_HANDLE', 'link-82');">CMD_HANDLE</a></tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">_get_name</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._send_status"></a><div id="SFTPServer._send_status-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="SFTPServer._send_status-toggle" onclick="return toggle('SFTPServer._send_status');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_send_status">_send_status</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">,</tt> <tt class="py-param">desc</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._send_status-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._send_status-expanded"><a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">desc</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name" targets="Variable paramiko.sftp.SFTP_DESC=paramiko.sftp-module.html#SFTP_DESC,Variable paramiko.sftp_attr.SFTP_DESC=paramiko.sftp_attr-module.html#SFTP_DESC,Variable paramiko.sftp_client.SFTP_DESC=paramiko.sftp_client-module.html#SFTP_DESC,Variable paramiko.sftp_file.SFTP_DESC=paramiko.sftp_file-module.html#SFTP_DESC,Variable paramiko.sftp_handle.SFTP_DESC=paramiko.sftp_handle-module.html#SFTP_DESC,Variable paramiko.sftp_server.SFTP_DESC=paramiko.sftp_server-module.html#SFTP_DESC,Variable paramiko.sftp_si.SFTP_DESC=paramiko.sftp_si-module.html#SFTP_DESC"><a title="paramiko.sftp.SFTP_DESC
-paramiko.sftp_attr.SFTP_DESC
-paramiko.sftp_client.SFTP_DESC
-paramiko.sftp_file.SFTP_DESC
-paramiko.sftp_handle.SFTP_DESC
-paramiko.sftp_server.SFTP_DESC
-paramiko.sftp_si.SFTP_DESC" class="py-name" href="#" onclick="return doclink('link-83', 'SFTP_DESC', 'link-83');">SFTP_DESC</a></tt><tt class="py-op">[</tt><tt class="py-name">code</tt><tt class="py-op">]</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">desc</tt> <tt class="py-op">=</tt> <tt class="py-string">'Unknown'</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-comment"># some clients expect a "langauge" tag at the end (but don't mind it being blank)</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name" targets="Variable paramiko.sftp.CMD_STATUS=paramiko.sftp-module.html#CMD_STATUS,Variable paramiko.sftp_attr.CMD_STATUS=paramiko.sftp_attr-module.html#CMD_STATUS,Variable paramiko.sftp_client.CMD_STATUS=paramiko.sftp_client-module.html#CMD_STATUS,Variable paramiko.sftp_file.CMD_STATUS=paramiko.sftp_file-module.html#CMD_STATUS,Variable paramiko.sftp_handle.CMD_STATUS=paramiko.sftp_handle-module.html#CMD_STATUS,Variable paramiko.sftp_server.CMD_STATUS=paramiko.sftp_server-module.html#CMD_STATUS,Variable paramiko.sftp_si.CMD_STATUS=paramiko.sftp_si-module.html#CMD_STATUS"><a title="paramiko.sftp.CMD_STATUS
-paramiko.sftp_attr.CMD_STATUS
-paramiko.sftp_client.CMD_STATUS
-paramiko.sftp_file.CMD_STATUS
-paramiko.sftp_handle.CMD_STATUS
-paramiko.sftp_server.CMD_STATUS
-paramiko.sftp_si.CMD_STATUS" class="py-name" href="#" onclick="return doclink('link-84', 'CMD_STATUS', 'link-84');">CMD_STATUS</a></tt><tt class="py-op">,</tt> <tt class="py-name">code</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._open_folder"></a><div id="SFTPServer._open_folder-def"><a name="L214"></a><tt class="py-lineno">214</tt> <a class="py-toggle" href="#" id="SFTPServer._open_folder-toggle" onclick="return toggle('SFTPServer._open_folder');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_open_folder">_open_folder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._open_folder-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._open_folder-expanded"><a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-85', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method paramiko.SFTPServerInterface.list_folder()=paramiko.SFTPServerInterface-class.html#list_folder"><a title="paramiko.SFTPServerInterface.list_folder" class="py-name" href="#" onclick="return doclink('link-86', 'list_folder', 'link-86');">list_folder</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-comment"># got an actual list of filenames in the folder</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">folder</tt> <tt class="py-op">=</tt> <tt id="link-87" class="py-name"><a title="paramiko.SFTPHandle" class="py-name" href="#" onclick="return doclink('link-87', 'SFTPHandle', 'link-81');">SFTPHandle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">folder</tt><tt class="py-op">.</tt><tt class="py-name">_set_files</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_handle_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">folder</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-comment"># must be an error code</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._read_folder"></a><div id="SFTPServer._read_folder-def"><a name="L225"></a><tt class="py-lineno">225</tt> <a class="py-toggle" href="#" id="SFTPServer._read_folder-toggle" onclick="return toggle('SFTPServer._read_folder');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_read_folder">_read_folder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">folder</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._read_folder-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._read_folder-expanded"><a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">flist</tt> <tt class="py-op">=</tt> <tt class="py-name">folder</tt><tt class="py-op">.</tt><tt class="py-name">_get_next_files</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">flist</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-88" class="py-name" targets="Variable paramiko.sftp.SFTP_EOF=paramiko.sftp-module.html#SFTP_EOF,Variable paramiko.sftp_attr.SFTP_EOF=paramiko.sftp_attr-module.html#SFTP_EOF,Variable paramiko.sftp_client.SFTP_EOF=paramiko.sftp_client-module.html#SFTP_EOF,Variable paramiko.sftp_file.SFTP_EOF=paramiko.sftp_file-module.html#SFTP_EOF,Variable paramiko.sftp_handle.SFTP_EOF=paramiko.sftp_handle-module.html#SFTP_EOF,Variable paramiko.sftp_server.SFTP_EOF=paramiko.sftp_server-module.html#SFTP_EOF,Variable paramiko.sftp_si.SFTP_EOF=paramiko.sftp_si-module.html#SFTP_EOF"><a title="paramiko.sftp.SFTP_EOF
-paramiko.sftp_attr.SFTP_EOF
-paramiko.sftp_client.SFTP_EOF
-paramiko.sftp_file.SFTP_EOF
-paramiko.sftp_handle.SFTP_EOF
-paramiko.sftp_server.SFTP_EOF
-paramiko.sftp_si.SFTP_EOF" class="py-name" href="#" onclick="return doclink('link-88', 'SFTP_EOF', 'link-88');">SFTP_EOF</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-89', 'Message', 'link-46');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-90', 'add_int', 'link-76');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-91', 'add_int', 'link-76');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">flist</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">flist</tt><tt class="py-op">:</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-92', 'add_string', 'link-79');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-93', 'add_string', 'link-79');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">attr</tt><tt class="py-op">.</tt><tt class="py-name">_pack</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_packet</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name" targets="Variable paramiko.sftp.CMD_NAME=paramiko.sftp-module.html#CMD_NAME,Variable paramiko.sftp_attr.CMD_NAME=paramiko.sftp_attr-module.html#CMD_NAME,Variable paramiko.sftp_client.CMD_NAME=paramiko.sftp_client-module.html#CMD_NAME,Variable paramiko.sftp_file.CMD_NAME=paramiko.sftp_file-module.html#CMD_NAME,Variable paramiko.sftp_handle.CMD_NAME=paramiko.sftp_handle-module.html#CMD_NAME,Variable paramiko.sftp_server.CMD_NAME=paramiko.sftp_server-module.html#CMD_NAME,Variable paramiko.sftp_si.CMD_NAME=paramiko.sftp_si-module.html#CMD_NAME"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-94', 'CMD_NAME', 'link-94');">CMD_NAME</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._check_file"></a><div id="SFTPServer._check_file-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="SFTPServer._check_file-toggle" onclick="return toggle('SFTPServer._check_file');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_check_file">_check_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._check_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._check_file-expanded"><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-comment"># this extension actually comes from v6 protocol, but since it's an</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-comment"># extension, i feel like we can reasonably support it backported.</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-comment"># it's very useful for verifying uploaded files or checking for</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-comment"># rsync-like differences between local and remote files.</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-95', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-name">alg_list</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name" targets="Method paramiko.Message.get_list()=paramiko.Message-class.html#get_list"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-96', 'get_list', 'link-96');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method paramiko.Message.get_int64()=paramiko.Message-class.html#get_int64"><a title="paramiko.Message.get_int64" class="py-name" href="#" onclick="return doclink('link-97', 'get_int64', 'link-97');">get_int64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="paramiko.Message.get_int64" class="py-name" href="#" onclick="return doclink('link-98', 'get_int64', 'link-97');">get_int64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">block_size</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-99', 'get_int', 'link-47');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-100" class="py-name" targets="Variable paramiko.sftp.SFTP_BAD_MESSAGE=paramiko.sftp-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_attr.SFTP_BAD_MESSAGE=paramiko.sftp_attr-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_client.SFTP_BAD_MESSAGE=paramiko.sftp_client-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_file.SFTP_BAD_MESSAGE=paramiko.sftp_file-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_handle.SFTP_BAD_MESSAGE=paramiko.sftp_handle-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_server.SFTP_BAD_MESSAGE=paramiko.sftp_server-module.html#SFTP_BAD_MESSAGE,Variable paramiko.sftp_si.SFTP_BAD_MESSAGE=paramiko.sftp_si-module.html#SFTP_BAD_MESSAGE"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-100', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">alg_list</tt><tt class="py-op">:</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt id="link-101" class="py-name"><a title="paramiko.sftp_server._hash_class" class="py-name" href="#" onclick="return doclink('link-101', '_hash_class', 'link-11');">_hash_class</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">algname</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">alg</tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name"><a title="paramiko.sftp_server._hash_class" class="py-name" href="#" onclick="return doclink('link-102', '_hash_class', 'link-11');">_hash_class</a></tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">]</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-103" class="py-name"><a title="paramiko.sftp.SFTP_FAILURE
-paramiko.sftp_attr.SFTP_FAILURE
-paramiko.sftp_client.SFTP_FAILURE
-paramiko.sftp_file.SFTP_FAILURE
-paramiko.sftp_handle.SFTP_FAILURE
-paramiko.sftp_server.SFTP_FAILURE
-paramiko.sftp_si.SFTP_FAILURE" class="py-name" href="#" onclick="return doclink('link-103', 'SFTP_FAILURE', 'link-52');">SFTP_FAILURE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'No supported hash types found'</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">length</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method paramiko.SFTPClient.stat()=paramiko.SFTPClient-class.html#stat,Method paramiko.SFTPFile.stat()=paramiko.SFTPFile-class.html#stat,Method paramiko.SFTPHandle.stat()=paramiko.SFTPHandle-class.html#stat,Method paramiko.SFTPServerInterface.stat()=paramiko.SFTPServerInterface-class.html#stat"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-104', 'stat', 'link-104');">stat</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">st</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-105" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-105', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">st</tt><tt class="py-op">,</tt> <tt class="py-string">'Unable to stat file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">.</tt><tt class="py-name">st_size</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">block_size</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt class="py-name">block_size</tt> <tt class="py-op">=</tt> <tt class="py-name">length</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">block_size</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">256</tt><tt class="py-op">:</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-106" class="py-name"><a title="paramiko.sftp.SFTP_FAILURE
-paramiko.sftp_attr.SFTP_FAILURE
-paramiko.sftp_client.SFTP_FAILURE
-paramiko.sftp_file.SFTP_FAILURE
-paramiko.sftp_handle.SFTP_FAILURE
-paramiko.sftp_server.SFTP_FAILURE
-paramiko.sftp_si.SFTP_FAILURE" class="py-name" href="#" onclick="return doclink('link-106', 'SFTP_FAILURE', 'link-52');">SFTP_FAILURE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Block size too small'</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">sum_out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">start</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">offset</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">start</tt> <tt class="py-op">+</tt> <tt class="py-name">length</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">blocklen</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">block_size</tt><tt class="py-op">,</tt> <tt class="py-name">start</tt> <tt class="py-op">+</tt> <tt class="py-name">length</tt> <tt class="py-op">-</tt> <tt class="py-name">offset</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-comment"># don't try to read more than about 64KB at a time</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">chunklen</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">blocklen</tt><tt class="py-op">,</tt> <tt class="py-number">65536</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt> <tt class="py-op">=</tt> <tt class="py-name">alg</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-107', 'new', 'link-107');">new</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">blocklen</tt><tt class="py-op">:</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-108', 'read', 'link-108');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">chunklen</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-string">'Unable to hash file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">offset</tt> <tt class="py-op">+=</tt> <tt class="py-name">count</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">sum_out</tt> <tt class="py-op">+=</tt> <tt class="py-name">hash_obj</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-109', 'Message', 'link-46');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-110', 'add_int', 'link-76');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">)</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-111', 'add_string', 'link-79');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'check-file'</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-112', 'add_string', 'link-79');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">algname</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name" targets="Method paramiko.Message.add_bytes()=paramiko.Message-class.html#add_bytes"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-113', 'add_bytes', 'link-113');">add_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">sum_out</tt><tt class="py-op">)</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_packet</tt><tt class="py-op">(</tt><tt id="link-114" class="py-name" targets="Variable paramiko.sftp.CMD_EXTENDED_REPLY=paramiko.sftp-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_attr.CMD_EXTENDED_REPLY=paramiko.sftp_attr-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_client.CMD_EXTENDED_REPLY=paramiko.sftp_client-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_file.CMD_EXTENDED_REPLY=paramiko.sftp_file-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_handle.CMD_EXTENDED_REPLY=paramiko.sftp_handle-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_server.CMD_EXTENDED_REPLY=paramiko.sftp_server-module.html#CMD_EXTENDED_REPLY,Variable paramiko.sftp_si.CMD_EXTENDED_REPLY=paramiko.sftp_si-module.html#CMD_EXTENDED_REPLY"><a title="paramiko.sftp.CMD_EXTENDED_REPLY
-paramiko.sftp_attr.CMD_EXTENDED_REPLY
-paramiko.sftp_client.CMD_EXTENDED_REPLY
-paramiko.sftp_file.CMD_EXTENDED_REPLY
-paramiko.sftp_handle.CMD_EXTENDED_REPLY
-paramiko.sftp_server.CMD_EXTENDED_REPLY
-paramiko.sftp_si.CMD_EXTENDED_REPLY" class="py-name" href="#" onclick="return doclink('link-114', 'CMD_EXTENDED_REPLY', 'link-114');">CMD_EXTENDED_REPLY</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._convert_pflags"></a><div id="SFTPServer._convert_pflags-def"><a name="L298"></a><tt class="py-lineno">298</tt> <a class="py-toggle" href="#" id="SFTPServer._convert_pflags-toggle" onclick="return toggle('SFTPServer._convert_pflags');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_convert_pflags">_convert_pflags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pflags</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._convert_pflags-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._convert_pflags-expanded"><a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-docstring">"convert SFTP-style open() flags to python's os.open() flags"</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-115" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_READ=paramiko.sftp-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_attr.SFTP_FLAG_READ=paramiko.sftp_attr-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_client.SFTP_FLAG_READ=paramiko.sftp_client-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_file.SFTP_FLAG_READ=paramiko.sftp_file-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_handle.SFTP_FLAG_READ=paramiko.sftp_handle-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_server.SFTP_FLAG_READ=paramiko.sftp_server-module.html#SFTP_FLAG_READ,Variable paramiko.sftp_si.SFTP_FLAG_READ=paramiko.sftp_si-module.html#SFTP_FLAG_READ"><a title="paramiko.sftp.SFTP_FLAG_READ
-paramiko.sftp_attr.SFTP_FLAG_READ
-paramiko.sftp_client.SFTP_FLAG_READ
-paramiko.sftp_file.SFTP_FLAG_READ
-paramiko.sftp_handle.SFTP_FLAG_READ
-paramiko.sftp_server.SFTP_FLAG_READ
-paramiko.sftp_si.SFTP_FLAG_READ" class="py-name" href="#" onclick="return doclink('link-115', 'SFTP_FLAG_READ', 'link-115');">SFTP_FLAG_READ</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-116" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_WRITE=paramiko.sftp-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_attr.SFTP_FLAG_WRITE=paramiko.sftp_attr-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_client.SFTP_FLAG_WRITE=paramiko.sftp_client-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_file.SFTP_FLAG_WRITE=paramiko.sftp_file-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_handle.SFTP_FLAG_WRITE=paramiko.sftp_handle-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_server.SFTP_FLAG_WRITE=paramiko.sftp_server-module.html#SFTP_FLAG_WRITE,Variable paramiko.sftp_si.SFTP_FLAG_WRITE=paramiko.sftp_si-module.html#SFTP_FLAG_WRITE"><a title="paramiko.sftp.SFTP_FLAG_WRITE
-paramiko.sftp_attr.SFTP_FLAG_WRITE
-paramiko.sftp_client.SFTP_FLAG_WRITE
-paramiko.sftp_file.SFTP_FLAG_WRITE
-paramiko.sftp_handle.SFTP_FLAG_WRITE
-paramiko.sftp_server.SFTP_FLAG_WRITE
-paramiko.sftp_si.SFTP_FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-116', 'SFTP_FLAG_WRITE', 'link-116');">SFTP_FLAG_WRITE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_RDWR</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-117" class="py-name"><a title="paramiko.sftp.SFTP_FLAG_WRITE
-paramiko.sftp_attr.SFTP_FLAG_WRITE
-paramiko.sftp_client.SFTP_FLAG_WRITE
-paramiko.sftp_file.SFTP_FLAG_WRITE
-paramiko.sftp_handle.SFTP_FLAG_WRITE
-paramiko.sftp_server.SFTP_FLAG_WRITE
-paramiko.sftp_si.SFTP_FLAG_WRITE" class="py-name" href="#" onclick="return doclink('link-117', 'SFTP_FLAG_WRITE', 'link-116');">SFTP_FLAG_WRITE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_WRONLY</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_RDONLY</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-118" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_APPEND=paramiko.sftp-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_attr.SFTP_FLAG_APPEND=paramiko.sftp_attr-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_client.SFTP_FLAG_APPEND=paramiko.sftp_client-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_file.SFTP_FLAG_APPEND=paramiko.sftp_file-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_handle.SFTP_FLAG_APPEND=paramiko.sftp_handle-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_server.SFTP_FLAG_APPEND=paramiko.sftp_server-module.html#SFTP_FLAG_APPEND,Variable paramiko.sftp_si.SFTP_FLAG_APPEND=paramiko.sftp_si-module.html#SFTP_FLAG_APPEND"><a title="paramiko.sftp.SFTP_FLAG_APPEND
-paramiko.sftp_attr.SFTP_FLAG_APPEND
-paramiko.sftp_client.SFTP_FLAG_APPEND
-paramiko.sftp_file.SFTP_FLAG_APPEND
-paramiko.sftp_handle.SFTP_FLAG_APPEND
-paramiko.sftp_server.SFTP_FLAG_APPEND
-paramiko.sftp_si.SFTP_FLAG_APPEND" class="py-name" href="#" onclick="return doclink('link-118', 'SFTP_FLAG_APPEND', 'link-118');">SFTP_FLAG_APPEND</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_APPEND</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-119" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_CREATE=paramiko.sftp-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_attr.SFTP_FLAG_CREATE=paramiko.sftp_attr-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_client.SFTP_FLAG_CREATE=paramiko.sftp_client-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_file.SFTP_FLAG_CREATE=paramiko.sftp_file-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_handle.SFTP_FLAG_CREATE=paramiko.sftp_handle-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_server.SFTP_FLAG_CREATE=paramiko.sftp_server-module.html#SFTP_FLAG_CREATE,Variable paramiko.sftp_si.SFTP_FLAG_CREATE=paramiko.sftp_si-module.html#SFTP_FLAG_CREATE"><a title="paramiko.sftp.SFTP_FLAG_CREATE
-paramiko.sftp_attr.SFTP_FLAG_CREATE
-paramiko.sftp_client.SFTP_FLAG_CREATE
-paramiko.sftp_file.SFTP_FLAG_CREATE
-paramiko.sftp_handle.SFTP_FLAG_CREATE
-paramiko.sftp_server.SFTP_FLAG_CREATE
-paramiko.sftp_si.SFTP_FLAG_CREATE" class="py-name" href="#" onclick="return doclink('link-119', 'SFTP_FLAG_CREATE', 'link-119');">SFTP_FLAG_CREATE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_CREAT</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-120" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_TRUNC=paramiko.sftp-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_attr.SFTP_FLAG_TRUNC=paramiko.sftp_attr-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_client.SFTP_FLAG_TRUNC=paramiko.sftp_client-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_file.SFTP_FLAG_TRUNC=paramiko.sftp_file-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_handle.SFTP_FLAG_TRUNC=paramiko.sftp_handle-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_server.SFTP_FLAG_TRUNC=paramiko.sftp_server-module.html#SFTP_FLAG_TRUNC,Variable paramiko.sftp_si.SFTP_FLAG_TRUNC=paramiko.sftp_si-module.html#SFTP_FLAG_TRUNC"><a title="paramiko.sftp.SFTP_FLAG_TRUNC
-paramiko.sftp_attr.SFTP_FLAG_TRUNC
-paramiko.sftp_client.SFTP_FLAG_TRUNC
-paramiko.sftp_file.SFTP_FLAG_TRUNC
-paramiko.sftp_handle.SFTP_FLAG_TRUNC
-paramiko.sftp_server.SFTP_FLAG_TRUNC
-paramiko.sftp_si.SFTP_FLAG_TRUNC" class="py-name" href="#" onclick="return doclink('link-120', 'SFTP_FLAG_TRUNC', 'link-120');">SFTP_FLAG_TRUNC</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_TRUNC</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pflags</tt> <tt class="py-op">&amp;</tt> <tt id="link-121" class="py-name" targets="Variable paramiko.sftp.SFTP_FLAG_EXCL=paramiko.sftp-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_attr.SFTP_FLAG_EXCL=paramiko.sftp_attr-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_client.SFTP_FLAG_EXCL=paramiko.sftp_client-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_file.SFTP_FLAG_EXCL=paramiko.sftp_file-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_handle.SFTP_FLAG_EXCL=paramiko.sftp_handle-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_server.SFTP_FLAG_EXCL=paramiko.sftp_server-module.html#SFTP_FLAG_EXCL,Variable paramiko.sftp_si.SFTP_FLAG_EXCL=paramiko.sftp_si-module.html#SFTP_FLAG_EXCL"><a title="paramiko.sftp.SFTP_FLAG_EXCL
-paramiko.sftp_attr.SFTP_FLAG_EXCL
-paramiko.sftp_client.SFTP_FLAG_EXCL
-paramiko.sftp_file.SFTP_FLAG_EXCL
-paramiko.sftp_handle.SFTP_FLAG_EXCL
-paramiko.sftp_server.SFTP_FLAG_EXCL
-paramiko.sftp_si.SFTP_FLAG_EXCL" class="py-name" href="#" onclick="return doclink('link-121', 'SFTP_FLAG_EXCL', 'link-121');">SFTP_FLAG_EXCL</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">|=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_EXCL</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">flags</tt> </tt>
-</div><a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> </tt>
-<a name="SFTPServer._process"></a><div id="SFTPServer._process-def"><a name="L316"></a><tt class="py-lineno">316</tt> <a class="py-toggle" href="#" id="SFTPServer._process-toggle" onclick="return toggle('SFTPServer._process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_server.SFTPServer-class.html#_process">_process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">t</tt><tt class="py-op">,</tt> <tt class="py-param">request_number</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServer._process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServer._process-expanded"><a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-122" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-122', 'DEBUG', 'link-37');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Request: %s'</tt> <tt class="py-op">%</tt> <tt id="link-123" class="py-name" targets="Variable paramiko.sftp.CMD_NAMES=paramiko.sftp-module.html#CMD_NAMES,Variable paramiko.sftp_attr.CMD_NAMES=paramiko.sftp_attr-module.html#CMD_NAMES,Variable paramiko.sftp_client.CMD_NAMES=paramiko.sftp_client-module.html#CMD_NAMES,Variable paramiko.sftp_file.CMD_NAMES=paramiko.sftp_file-module.html#CMD_NAMES,Variable paramiko.sftp_handle.CMD_NAMES=paramiko.sftp_handle-module.html#CMD_NAMES,Variable paramiko.sftp_server.CMD_NAMES=paramiko.sftp_server-module.html#CMD_NAMES,Variable paramiko.sftp_si.CMD_NAMES=paramiko.sftp_si-module.html#CMD_NAMES"><a title="paramiko.sftp.CMD_NAMES
-paramiko.sftp_attr.CMD_NAMES
-paramiko.sftp_client.CMD_NAMES
-paramiko.sftp_file.CMD_NAMES
-paramiko.sftp_handle.CMD_NAMES
-paramiko.sftp_server.CMD_NAMES
-paramiko.sftp_si.CMD_NAMES" class="py-name" href="#" onclick="return doclink('link-123', 'CMD_NAMES', 'link-123');">CMD_NAMES</a></tt><tt class="py-op">[</tt><tt class="py-name">t</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-124" class="py-name" targets="Variable paramiko.sftp.CMD_OPEN=paramiko.sftp-module.html#CMD_OPEN,Variable paramiko.sftp_attr.CMD_OPEN=paramiko.sftp_attr-module.html#CMD_OPEN,Variable paramiko.sftp_client.CMD_OPEN=paramiko.sftp_client-module.html#CMD_OPEN,Variable paramiko.sftp_file.CMD_OPEN=paramiko.sftp_file-module.html#CMD_OPEN,Variable paramiko.sftp_handle.CMD_OPEN=paramiko.sftp_handle-module.html#CMD_OPEN,Variable paramiko.sftp_server.CMD_OPEN=paramiko.sftp_server-module.html#CMD_OPEN,Variable paramiko.sftp_si.CMD_OPEN=paramiko.sftp_si-module.html#CMD_OPEN"><a title="paramiko.sftp.CMD_OPEN
-paramiko.sftp_attr.CMD_OPEN
-paramiko.sftp_client.CMD_OPEN
-paramiko.sftp_file.CMD_OPEN
-paramiko.sftp_handle.CMD_OPEN
-paramiko.sftp_server.CMD_OPEN
-paramiko.sftp_si.CMD_OPEN" class="py-name" href="#" onclick="return doclink('link-124', 'CMD_OPEN', 'link-124');">CMD_OPEN</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-125', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_convert_pflags</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-126', 'get_int', 'link-47');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-127" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-127', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_handle_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-128', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-129', 'open', 'link-71');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-130" class="py-name" targets="Variable paramiko.sftp.CMD_CLOSE=paramiko.sftp-module.html#CMD_CLOSE,Variable paramiko.sftp_attr.CMD_CLOSE=paramiko.sftp_attr-module.html#CMD_CLOSE,Variable paramiko.sftp_client.CMD_CLOSE=paramiko.sftp_client-module.html#CMD_CLOSE,Variable paramiko.sftp_file.CMD_CLOSE=paramiko.sftp_file-module.html#CMD_CLOSE,Variable paramiko.sftp_handle.CMD_CLOSE=paramiko.sftp_handle-module.html#CMD_CLOSE,Variable paramiko.sftp_server.CMD_CLOSE=paramiko.sftp_server-module.html#CMD_CLOSE,Variable paramiko.sftp_si.CMD_CLOSE=paramiko.sftp_si-module.html#CMD_CLOSE"><a title="paramiko.sftp.CMD_CLOSE
-paramiko.sftp_attr.CMD_CLOSE
-paramiko.sftp_client.CMD_CLOSE
-paramiko.sftp_file.CMD_CLOSE
-paramiko.sftp_handle.CMD_CLOSE
-paramiko.sftp_server.CMD_CLOSE
-paramiko.sftp_si.CMD_CLOSE" class="py-name" href="#" onclick="return doclink('link-130', 'CMD_CLOSE', 'link-130');">CMD_CLOSE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-131', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-132" class="py-name" targets="Variable paramiko.sftp.SFTP_OK=paramiko.sftp-module.html#SFTP_OK,Variable paramiko.sftp_attr.SFTP_OK=paramiko.sftp_attr-module.html#SFTP_OK,Variable paramiko.sftp_client.SFTP_OK=paramiko.sftp_client-module.html#SFTP_OK,Variable paramiko.sftp_file.SFTP_OK=paramiko.sftp_file-module.html#SFTP_OK,Variable paramiko.sftp_handle.SFTP_OK=paramiko.sftp_handle-module.html#SFTP_OK,Variable paramiko.sftp_server.SFTP_OK=paramiko.sftp_server-module.html#SFTP_OK,Variable paramiko.sftp_si.SFTP_OK=paramiko.sftp_si-module.html#SFTP_OK"><a title="paramiko.sftp.SFTP_OK
-paramiko.sftp_attr.SFTP_OK
-paramiko.sftp_client.SFTP_OK
-paramiko.sftp_file.SFTP_OK
-paramiko.sftp_handle.SFTP_OK
-paramiko.sftp_server.SFTP_OK
-paramiko.sftp_si.SFTP_OK" class="py-name" href="#" onclick="return doclink('link-132', 'SFTP_OK', 'link-132');">SFTP_OK</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-133', 'close', 'link-57');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-134" class="py-name"><a title="paramiko.sftp.SFTP_OK
-paramiko.sftp_attr.SFTP_OK
-paramiko.sftp_client.SFTP_OK
-paramiko.sftp_file.SFTP_OK
-paramiko.sftp_handle.SFTP_OK
-paramiko.sftp_server.SFTP_OK
-paramiko.sftp_si.SFTP_OK" class="py-name" href="#" onclick="return doclink('link-134', 'SFTP_OK', 'link-132');">SFTP_OK</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-135" class="py-name"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-135', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-136" class="py-name" targets="Variable paramiko.sftp.CMD_READ=paramiko.sftp-module.html#CMD_READ,Variable paramiko.sftp_attr.CMD_READ=paramiko.sftp_attr-module.html#CMD_READ,Variable paramiko.sftp_client.CMD_READ=paramiko.sftp_client-module.html#CMD_READ,Variable paramiko.sftp_file.CMD_READ=paramiko.sftp_file-module.html#CMD_READ,Variable paramiko.sftp_handle.CMD_READ=paramiko.sftp_handle-module.html#CMD_READ,Variable paramiko.sftp_server.CMD_READ=paramiko.sftp_server-module.html#CMD_READ,Variable paramiko.sftp_si.CMD_READ=paramiko.sftp_si-module.html#CMD_READ"><a title="paramiko.sftp.CMD_READ
-paramiko.sftp_attr.CMD_READ
-paramiko.sftp_client.CMD_READ
-paramiko.sftp_file.CMD_READ
-paramiko.sftp_handle.CMD_READ
-paramiko.sftp_server.CMD_READ
-paramiko.sftp_si.CMD_READ" class="py-name" href="#" onclick="return doclink('link-136', 'CMD_READ', 'link-136');">CMD_READ</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-137', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="paramiko.Message.get_int64" class="py-name" href="#" onclick="return doclink('link-138', 'get_int64', 'link-97');">get_int64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-139', 'get_int', 'link-47');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-140', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-141', 'read', 'link-108');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-142" class="py-name"><a title="paramiko.sftp.SFTP_EOF
-paramiko.sftp_attr.SFTP_EOF
-paramiko.sftp_client.SFTP_EOF
-paramiko.sftp_file.SFTP_EOF
-paramiko.sftp_handle.SFTP_EOF
-paramiko.sftp_server.SFTP_EOF
-paramiko.sftp_si.SFTP_EOF" class="py-name" href="#" onclick="return doclink('link-142', 'SFTP_EOF', 'link-88');">SFTP_EOF</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-143" class="py-name" targets="Variable paramiko.sftp.CMD_DATA=paramiko.sftp-module.html#CMD_DATA,Variable paramiko.sftp_attr.CMD_DATA=paramiko.sftp_attr-module.html#CMD_DATA,Variable paramiko.sftp_client.CMD_DATA=paramiko.sftp_client-module.html#CMD_DATA,Variable paramiko.sftp_file.CMD_DATA=paramiko.sftp_file-module.html#CMD_DATA,Variable paramiko.sftp_handle.CMD_DATA=paramiko.sftp_handle-module.html#CMD_DATA,Variable paramiko.sftp_server.CMD_DATA=paramiko.sftp_server-module.html#CMD_DATA,Variable paramiko.sftp_si.CMD_DATA=paramiko.sftp_si-module.html#CMD_DATA"><a title="paramiko.sftp.CMD_DATA
-paramiko.sftp_attr.CMD_DATA
-paramiko.sftp_client.CMD_DATA
-paramiko.sftp_file.CMD_DATA
-paramiko.sftp_handle.CMD_DATA
-paramiko.sftp_server.CMD_DATA
-paramiko.sftp_si.CMD_DATA" class="py-name" href="#" onclick="return doclink('link-143', 'CMD_DATA', 'link-143');">CMD_DATA</a></tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-144" class="py-name" targets="Variable paramiko.sftp.CMD_WRITE=paramiko.sftp-module.html#CMD_WRITE,Variable paramiko.sftp_attr.CMD_WRITE=paramiko.sftp_attr-module.html#CMD_WRITE,Variable paramiko.sftp_client.CMD_WRITE=paramiko.sftp_client-module.html#CMD_WRITE,Variable paramiko.sftp_file.CMD_WRITE=paramiko.sftp_file-module.html#CMD_WRITE,Variable paramiko.sftp_handle.CMD_WRITE=paramiko.sftp_handle-module.html#CMD_WRITE,Variable paramiko.sftp_server.CMD_WRITE=paramiko.sftp_server-module.html#CMD_WRITE,Variable paramiko.sftp_si.CMD_WRITE=paramiko.sftp_si-module.html#CMD_WRITE"><a title="paramiko.sftp.CMD_WRITE
-paramiko.sftp_attr.CMD_WRITE
-paramiko.sftp_client.CMD_WRITE
-paramiko.sftp_file.CMD_WRITE
-paramiko.sftp_handle.CMD_WRITE
-paramiko.sftp_server.CMD_WRITE
-paramiko.sftp_si.CMD_WRITE" class="py-name" href="#" onclick="return doclink('link-144', 'CMD_WRITE', 'link-144');">CMD_WRITE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-145', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="paramiko.Message.get_int64" class="py-name" href="#" onclick="return doclink('link-146', 'get_int64', 'link-97');">get_int64</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-147', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-148" class="py-name"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-148', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-149', 'write', 'link-149');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-150" class="py-name" targets="Variable paramiko.sftp.CMD_REMOVE=paramiko.sftp-module.html#CMD_REMOVE,Variable paramiko.sftp_attr.CMD_REMOVE=paramiko.sftp_attr-module.html#CMD_REMOVE,Variable paramiko.sftp_client.CMD_REMOVE=paramiko.sftp_client-module.html#CMD_REMOVE,Variable paramiko.sftp_file.CMD_REMOVE=paramiko.sftp_file-module.html#CMD_REMOVE,Variable paramiko.sftp_handle.CMD_REMOVE=paramiko.sftp_handle-module.html#CMD_REMOVE,Variable paramiko.sftp_server.CMD_REMOVE=paramiko.sftp_server-module.html#CMD_REMOVE,Variable paramiko.sftp_si.CMD_REMOVE=paramiko.sftp_si-module.html#CMD_REMOVE"><a title="paramiko.sftp.CMD_REMOVE
-paramiko.sftp_attr.CMD_REMOVE
-paramiko.sftp_client.CMD_REMOVE
-paramiko.sftp_file.CMD_REMOVE
-paramiko.sftp_handle.CMD_REMOVE
-paramiko.sftp_server.CMD_REMOVE
-paramiko.sftp_si.CMD_REMOVE" class="py-name" href="#" onclick="return doclink('link-150', 'CMD_REMOVE', 'link-150');">CMD_REMOVE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-151', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-152', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method paramiko.SFTPServerInterface.remove()=paramiko.SFTPServerInterface-class.html#remove"><a title="paramiko.SFTPServerInterface.remove" class="py-name" href="#" onclick="return doclink('link-153', 'remove', 'link-153');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-154" class="py-name" targets="Variable paramiko.sftp.CMD_RENAME=paramiko.sftp-module.html#CMD_RENAME,Variable paramiko.sftp_attr.CMD_RENAME=paramiko.sftp_attr-module.html#CMD_RENAME,Variable paramiko.sftp_client.CMD_RENAME=paramiko.sftp_client-module.html#CMD_RENAME,Variable paramiko.sftp_file.CMD_RENAME=paramiko.sftp_file-module.html#CMD_RENAME,Variable paramiko.sftp_handle.CMD_RENAME=paramiko.sftp_handle-module.html#CMD_RENAME,Variable paramiko.sftp_server.CMD_RENAME=paramiko.sftp_server-module.html#CMD_RENAME,Variable paramiko.sftp_si.CMD_RENAME=paramiko.sftp_si-module.html#CMD_RENAME"><a title="paramiko.sftp.CMD_RENAME
-paramiko.sftp_attr.CMD_RENAME
-paramiko.sftp_client.CMD_RENAME
-paramiko.sftp_file.CMD_RENAME
-paramiko.sftp_handle.CMD_RENAME
-paramiko.sftp_server.CMD_RENAME
-paramiko.sftp_si.CMD_RENAME" class="py-name" href="#" onclick="return doclink('link-154', 'CMD_RENAME', 'link-154');">CMD_RENAME</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-name">oldpath</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-155', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">newpath</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-156', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-157', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name" targets="Method paramiko.SFTPClient.rename()=paramiko.SFTPClient-class.html#rename,Method paramiko.SFTPServerInterface.rename()=paramiko.SFTPServerInterface-class.html#rename"><a title="paramiko.SFTPClient.rename
-paramiko.SFTPServerInterface.rename" class="py-name" href="#" onclick="return doclink('link-158', 'rename', 'link-158');">rename</a></tt><tt class="py-op">(</tt><tt class="py-name">oldpath</tt><tt class="py-op">,</tt> <tt class="py-name">newpath</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-159" class="py-name" targets="Variable paramiko.sftp.CMD_MKDIR=paramiko.sftp-module.html#CMD_MKDIR,Variable paramiko.sftp_attr.CMD_MKDIR=paramiko.sftp_attr-module.html#CMD_MKDIR,Variable paramiko.sftp_client.CMD_MKDIR=paramiko.sftp_client-module.html#CMD_MKDIR,Variable paramiko.sftp_file.CMD_MKDIR=paramiko.sftp_file-module.html#CMD_MKDIR,Variable paramiko.sftp_handle.CMD_MKDIR=paramiko.sftp_handle-module.html#CMD_MKDIR,Variable paramiko.sftp_server.CMD_MKDIR=paramiko.sftp_server-module.html#CMD_MKDIR,Variable paramiko.sftp_si.CMD_MKDIR=paramiko.sftp_si-module.html#CMD_MKDIR"><a title="paramiko.sftp.CMD_MKDIR
-paramiko.sftp_attr.CMD_MKDIR
-paramiko.sftp_client.CMD_MKDIR
-paramiko.sftp_file.CMD_MKDIR
-paramiko.sftp_handle.CMD_MKDIR
-paramiko.sftp_server.CMD_MKDIR
-paramiko.sftp_si.CMD_MKDIR" class="py-name" href="#" onclick="return doclink('link-159', 'CMD_MKDIR', 'link-159');">CMD_MKDIR</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-160', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-161', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-162', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name" targets="Method paramiko.SFTPClient.mkdir()=paramiko.SFTPClient-class.html#mkdir,Method paramiko.SFTPServerInterface.mkdir()=paramiko.SFTPServerInterface-class.html#mkdir"><a title="paramiko.SFTPClient.mkdir
-paramiko.SFTPServerInterface.mkdir" class="py-name" href="#" onclick="return doclink('link-163', 'mkdir', 'link-163');">mkdir</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-164" class="py-name" targets="Variable paramiko.sftp.CMD_RMDIR=paramiko.sftp-module.html#CMD_RMDIR,Variable paramiko.sftp_attr.CMD_RMDIR=paramiko.sftp_attr-module.html#CMD_RMDIR,Variable paramiko.sftp_client.CMD_RMDIR=paramiko.sftp_client-module.html#CMD_RMDIR,Variable paramiko.sftp_file.CMD_RMDIR=paramiko.sftp_file-module.html#CMD_RMDIR,Variable paramiko.sftp_handle.CMD_RMDIR=paramiko.sftp_handle-module.html#CMD_RMDIR,Variable paramiko.sftp_server.CMD_RMDIR=paramiko.sftp_server-module.html#CMD_RMDIR,Variable paramiko.sftp_si.CMD_RMDIR=paramiko.sftp_si-module.html#CMD_RMDIR"><a title="paramiko.sftp.CMD_RMDIR
-paramiko.sftp_attr.CMD_RMDIR
-paramiko.sftp_client.CMD_RMDIR
-paramiko.sftp_file.CMD_RMDIR
-paramiko.sftp_handle.CMD_RMDIR
-paramiko.sftp_server.CMD_RMDIR
-paramiko.sftp_si.CMD_RMDIR" class="py-name" href="#" onclick="return doclink('link-164', 'CMD_RMDIR', 'link-164');">CMD_RMDIR</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-165', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-166', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name" targets="Method paramiko.SFTPClient.rmdir()=paramiko.SFTPClient-class.html#rmdir,Method paramiko.SFTPServerInterface.rmdir()=paramiko.SFTPServerInterface-class.html#rmdir"><a title="paramiko.SFTPClient.rmdir
-paramiko.SFTPServerInterface.rmdir" class="py-name" href="#" onclick="return doclink('link-167', 'rmdir', 'link-167');">rmdir</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-168" class="py-name" targets="Variable paramiko.sftp.CMD_OPENDIR=paramiko.sftp-module.html#CMD_OPENDIR,Variable paramiko.sftp_attr.CMD_OPENDIR=paramiko.sftp_attr-module.html#CMD_OPENDIR,Variable paramiko.sftp_client.CMD_OPENDIR=paramiko.sftp_client-module.html#CMD_OPENDIR,Variable paramiko.sftp_file.CMD_OPENDIR=paramiko.sftp_file-module.html#CMD_OPENDIR,Variable paramiko.sftp_handle.CMD_OPENDIR=paramiko.sftp_handle-module.html#CMD_OPENDIR,Variable paramiko.sftp_server.CMD_OPENDIR=paramiko.sftp_server-module.html#CMD_OPENDIR,Variable paramiko.sftp_si.CMD_OPENDIR=paramiko.sftp_si-module.html#CMD_OPENDIR"><a title="paramiko.sftp.CMD_OPENDIR
-paramiko.sftp_attr.CMD_OPENDIR
-paramiko.sftp_client.CMD_OPENDIR
-paramiko.sftp_file.CMD_OPENDIR
-paramiko.sftp_handle.CMD_OPENDIR
-paramiko.sftp_server.CMD_OPENDIR
-paramiko.sftp_si.CMD_OPENDIR" class="py-name" href="#" onclick="return doclink('link-168', 'CMD_OPENDIR', 'link-168');">CMD_OPENDIR</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-169', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_open_folder</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-170" class="py-name" targets="Variable paramiko.sftp.CMD_READDIR=paramiko.sftp-module.html#CMD_READDIR,Variable paramiko.sftp_attr.CMD_READDIR=paramiko.sftp_attr-module.html#CMD_READDIR,Variable paramiko.sftp_client.CMD_READDIR=paramiko.sftp_client-module.html#CMD_READDIR,Variable paramiko.sftp_file.CMD_READDIR=paramiko.sftp_file-module.html#CMD_READDIR,Variable paramiko.sftp_handle.CMD_READDIR=paramiko.sftp_handle-module.html#CMD_READDIR,Variable paramiko.sftp_server.CMD_READDIR=paramiko.sftp_server-module.html#CMD_READDIR,Variable paramiko.sftp_si.CMD_READDIR=paramiko.sftp_si-module.html#CMD_READDIR"><a title="paramiko.sftp.CMD_READDIR
-paramiko.sftp_attr.CMD_READDIR
-paramiko.sftp_client.CMD_READDIR
-paramiko.sftp_file.CMD_READDIR
-paramiko.sftp_handle.CMD_READDIR
-paramiko.sftp_server.CMD_READDIR
-paramiko.sftp_si.CMD_READDIR" class="py-name" href="#" onclick="return doclink('link-170', 'CMD_READDIR', 'link-170');">CMD_READDIR</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-171', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-172" class="py-name"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-172', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-name">folder</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">folder_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_read_folder</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">folder</tt><tt class="py-op">)</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-173" class="py-name" targets="Variable paramiko.sftp.CMD_STAT=paramiko.sftp-module.html#CMD_STAT,Variable paramiko.sftp_attr.CMD_STAT=paramiko.sftp_attr-module.html#CMD_STAT,Variable paramiko.sftp_client.CMD_STAT=paramiko.sftp_client-module.html#CMD_STAT,Variable paramiko.sftp_file.CMD_STAT=paramiko.sftp_file-module.html#CMD_STAT,Variable paramiko.sftp_handle.CMD_STAT=paramiko.sftp_handle-module.html#CMD_STAT,Variable paramiko.sftp_server.CMD_STAT=paramiko.sftp_server-module.html#CMD_STAT,Variable paramiko.sftp_si.CMD_STAT=paramiko.sftp_si-module.html#CMD_STAT"><a title="paramiko.sftp.CMD_STAT
-paramiko.sftp_attr.CMD_STAT
-paramiko.sftp_client.CMD_STAT
-paramiko.sftp_file.CMD_STAT
-paramiko.sftp_handle.CMD_STAT
-paramiko.sftp_server.CMD_STAT
-paramiko.sftp_si.CMD_STAT" class="py-name" href="#" onclick="return doclink('link-173', 'CMD_STAT', 'link-173');">CMD_STAT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-174', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-175', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-176', 'stat', 'link-104');">stat</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-177" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-177', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-178" class="py-name" targets="Variable paramiko.sftp.CMD_ATTRS=paramiko.sftp-module.html#CMD_ATTRS,Variable paramiko.sftp_attr.CMD_ATTRS=paramiko.sftp_attr-module.html#CMD_ATTRS,Variable paramiko.sftp_client.CMD_ATTRS=paramiko.sftp_client-module.html#CMD_ATTRS,Variable paramiko.sftp_file.CMD_ATTRS=paramiko.sftp_file-module.html#CMD_ATTRS,Variable paramiko.sftp_handle.CMD_ATTRS=paramiko.sftp_handle-module.html#CMD_ATTRS,Variable paramiko.sftp_server.CMD_ATTRS=paramiko.sftp_server-module.html#CMD_ATTRS,Variable paramiko.sftp_si.CMD_ATTRS=paramiko.sftp_si-module.html#CMD_ATTRS"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-178', 'CMD_ATTRS', 'link-178');">CMD_ATTRS</a></tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-179" class="py-name" targets="Variable paramiko.sftp.CMD_LSTAT=paramiko.sftp-module.html#CMD_LSTAT,Variable paramiko.sftp_attr.CMD_LSTAT=paramiko.sftp_attr-module.html#CMD_LSTAT,Variable paramiko.sftp_client.CMD_LSTAT=paramiko.sftp_client-module.html#CMD_LSTAT,Variable paramiko.sftp_file.CMD_LSTAT=paramiko.sftp_file-module.html#CMD_LSTAT,Variable paramiko.sftp_handle.CMD_LSTAT=paramiko.sftp_handle-module.html#CMD_LSTAT,Variable paramiko.sftp_server.CMD_LSTAT=paramiko.sftp_server-module.html#CMD_LSTAT,Variable paramiko.sftp_si.CMD_LSTAT=paramiko.sftp_si-module.html#CMD_LSTAT"><a title="paramiko.sftp.CMD_LSTAT
-paramiko.sftp_attr.CMD_LSTAT
-paramiko.sftp_client.CMD_LSTAT
-paramiko.sftp_file.CMD_LSTAT
-paramiko.sftp_handle.CMD_LSTAT
-paramiko.sftp_server.CMD_LSTAT
-paramiko.sftp_si.CMD_LSTAT" class="py-name" href="#" onclick="return doclink('link-179', 'CMD_LSTAT', 'link-179');">CMD_LSTAT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-180', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-181', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-182" class="py-name" targets="Method paramiko.SFTPClient.lstat()=paramiko.SFTPClient-class.html#lstat,Method paramiko.SFTPServerInterface.lstat()=paramiko.SFTPServerInterface-class.html#lstat"><a title="paramiko.SFTPClient.lstat
-paramiko.SFTPServerInterface.lstat" class="py-name" href="#" onclick="return doclink('link-182', 'lstat', 'link-182');">lstat</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-183" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-183', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-184" class="py-name"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-184', 'CMD_ATTRS', 'link-178');">CMD_ATTRS</a></tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-185" class="py-name" targets="Variable paramiko.sftp.CMD_FSTAT=paramiko.sftp-module.html#CMD_FSTAT,Variable paramiko.sftp_attr.CMD_FSTAT=paramiko.sftp_attr-module.html#CMD_FSTAT,Variable paramiko.sftp_client.CMD_FSTAT=paramiko.sftp_client-module.html#CMD_FSTAT,Variable paramiko.sftp_file.CMD_FSTAT=paramiko.sftp_file-module.html#CMD_FSTAT,Variable paramiko.sftp_handle.CMD_FSTAT=paramiko.sftp_handle-module.html#CMD_FSTAT,Variable paramiko.sftp_server.CMD_FSTAT=paramiko.sftp_server-module.html#CMD_FSTAT,Variable paramiko.sftp_si.CMD_FSTAT=paramiko.sftp_si-module.html#CMD_FSTAT"><a title="paramiko.sftp.CMD_FSTAT
-paramiko.sftp_attr.CMD_FSTAT
-paramiko.sftp_client.CMD_FSTAT
-paramiko.sftp_file.CMD_FSTAT
-paramiko.sftp_handle.CMD_FSTAT
-paramiko.sftp_server.CMD_FSTAT
-paramiko.sftp_si.CMD_FSTAT" class="py-name" href="#" onclick="return doclink('link-185', 'CMD_FSTAT', 'link-185');">CMD_FSTAT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-186', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-187" class="py-name"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-187', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="paramiko.SFTPClient.stat
-paramiko.SFTPFile.stat
-paramiko.SFTPHandle.stat
-paramiko.SFTPServerInterface.stat" class="py-name" href="#" onclick="return doclink('link-188', 'stat', 'link-104');">stat</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-189" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-189', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-190" class="py-name"><a title="paramiko.sftp.CMD_ATTRS
-paramiko.sftp_attr.CMD_ATTRS
-paramiko.sftp_client.CMD_ATTRS
-paramiko.sftp_file.CMD_ATTRS
-paramiko.sftp_handle.CMD_ATTRS
-paramiko.sftp_server.CMD_ATTRS
-paramiko.sftp_si.CMD_ATTRS" class="py-name" href="#" onclick="return doclink('link-190', 'CMD_ATTRS', 'link-178');">CMD_ATTRS</a></tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-191" class="py-name" targets="Variable paramiko.sftp.CMD_SETSTAT=paramiko.sftp-module.html#CMD_SETSTAT,Variable paramiko.sftp_attr.CMD_SETSTAT=paramiko.sftp_attr-module.html#CMD_SETSTAT,Variable paramiko.sftp_client.CMD_SETSTAT=paramiko.sftp_client-module.html#CMD_SETSTAT,Variable paramiko.sftp_file.CMD_SETSTAT=paramiko.sftp_file-module.html#CMD_SETSTAT,Variable paramiko.sftp_handle.CMD_SETSTAT=paramiko.sftp_handle-module.html#CMD_SETSTAT,Variable paramiko.sftp_server.CMD_SETSTAT=paramiko.sftp_server-module.html#CMD_SETSTAT,Variable paramiko.sftp_si.CMD_SETSTAT=paramiko.sftp_si-module.html#CMD_SETSTAT"><a title="paramiko.sftp.CMD_SETSTAT
-paramiko.sftp_attr.CMD_SETSTAT
-paramiko.sftp_client.CMD_SETSTAT
-paramiko.sftp_file.CMD_SETSTAT
-paramiko.sftp_handle.CMD_SETSTAT
-paramiko.sftp_server.CMD_SETSTAT
-paramiko.sftp_si.CMD_SETSTAT" class="py-name" href="#" onclick="return doclink('link-191', 'CMD_SETSTAT', 'link-191');">CMD_SETSTAT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-192', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-193" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-193', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-194', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name" targets="Method paramiko.SFTPHandle.chattr()=paramiko.SFTPHandle-class.html#chattr,Method paramiko.SFTPServerInterface.chattr()=paramiko.SFTPServerInterface-class.html#chattr"><a title="paramiko.SFTPHandle.chattr
-paramiko.SFTPServerInterface.chattr" class="py-name" href="#" onclick="return doclink('link-195', 'chattr', 'link-195');">chattr</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-196" class="py-name" targets="Variable paramiko.sftp.CMD_FSETSTAT=paramiko.sftp-module.html#CMD_FSETSTAT,Variable paramiko.sftp_attr.CMD_FSETSTAT=paramiko.sftp_attr-module.html#CMD_FSETSTAT,Variable paramiko.sftp_client.CMD_FSETSTAT=paramiko.sftp_client-module.html#CMD_FSETSTAT,Variable paramiko.sftp_file.CMD_FSETSTAT=paramiko.sftp_file-module.html#CMD_FSETSTAT,Variable paramiko.sftp_handle.CMD_FSETSTAT=paramiko.sftp_handle-module.html#CMD_FSETSTAT,Variable paramiko.sftp_server.CMD_FSETSTAT=paramiko.sftp_server-module.html#CMD_FSETSTAT,Variable paramiko.sftp_si.CMD_FSETSTAT=paramiko.sftp_si-module.html#CMD_FSETSTAT"><a title="paramiko.sftp.CMD_FSETSTAT
-paramiko.sftp_attr.CMD_FSETSTAT
-paramiko.sftp_client.CMD_FSETSTAT
-paramiko.sftp_file.CMD_FSETSTAT
-paramiko.sftp_handle.CMD_FSETSTAT
-paramiko.sftp_server.CMD_FSETSTAT
-paramiko.sftp_si.CMD_FSETSTAT" class="py-name" href="#" onclick="return doclink('link-196', 'CMD_FSETSTAT', 'link-196');">CMD_FSETSTAT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-197', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt id="link-198" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-198', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">.</tt><tt class="py-name">_from_msg</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-199" class="py-name"><a title="paramiko.sftp.SFTP_BAD_MESSAGE
-paramiko.sftp_attr.SFTP_BAD_MESSAGE
-paramiko.sftp_client.SFTP_BAD_MESSAGE
-paramiko.sftp_file.SFTP_BAD_MESSAGE
-paramiko.sftp_handle.SFTP_BAD_MESSAGE
-paramiko.sftp_server.SFTP_BAD_MESSAGE
-paramiko.sftp_si.SFTP_BAD_MESSAGE" class="py-name" href="#" onclick="return doclink('link-199', 'SFTP_BAD_MESSAGE', 'link-100');">SFTP_BAD_MESSAGE</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Invalid handle'</tt><tt class="py-op">)</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file_table</tt><tt class="py-op">[</tt><tt class="py-name">handle</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="paramiko.SFTPHandle.chattr
-paramiko.SFTPServerInterface.chattr" class="py-name" href="#" onclick="return doclink('link-200', 'chattr', 'link-195');">chattr</a></tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-201" class="py-name" targets="Variable paramiko.sftp.CMD_READLINK=paramiko.sftp-module.html#CMD_READLINK,Variable paramiko.sftp_attr.CMD_READLINK=paramiko.sftp_attr-module.html#CMD_READLINK,Variable paramiko.sftp_client.CMD_READLINK=paramiko.sftp_client-module.html#CMD_READLINK,Variable paramiko.sftp_file.CMD_READLINK=paramiko.sftp_file-module.html#CMD_READLINK,Variable paramiko.sftp_handle.CMD_READLINK=paramiko.sftp_handle-module.html#CMD_READLINK,Variable paramiko.sftp_server.CMD_READLINK=paramiko.sftp_server-module.html#CMD_READLINK,Variable paramiko.sftp_si.CMD_READLINK=paramiko.sftp_si-module.html#CMD_READLINK"><a title="paramiko.sftp.CMD_READLINK
-paramiko.sftp_attr.CMD_READLINK
-paramiko.sftp_client.CMD_READLINK
-paramiko.sftp_file.CMD_READLINK
-paramiko.sftp_handle.CMD_READLINK
-paramiko.sftp_server.CMD_READLINK
-paramiko.sftp_si.CMD_READLINK" class="py-name" href="#" onclick="return doclink('link-201', 'CMD_READLINK', 'link-201');">CMD_READLINK</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-202', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-203', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-204" class="py-name" targets="Method paramiko.SFTPClient.readlink()=paramiko.SFTPClient-class.html#readlink,Method paramiko.SFTPServerInterface.readlink()=paramiko.SFTPServerInterface-class.html#readlink"><a title="paramiko.SFTPClient.readlink
-paramiko.SFTPServerInterface.readlink" class="py-name" href="#" onclick="return doclink('link-204', 'readlink', 'link-204');">readlink</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-205" class="py-name"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-205', 'CMD_NAME', 'link-94');">CMD_NAME</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-206" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-206', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-207" class="py-name" targets="Variable paramiko.sftp.CMD_SYMLINK=paramiko.sftp-module.html#CMD_SYMLINK,Variable paramiko.sftp_attr.CMD_SYMLINK=paramiko.sftp_attr-module.html#CMD_SYMLINK,Variable paramiko.sftp_client.CMD_SYMLINK=paramiko.sftp_client-module.html#CMD_SYMLINK,Variable paramiko.sftp_file.CMD_SYMLINK=paramiko.sftp_file-module.html#CMD_SYMLINK,Variable paramiko.sftp_handle.CMD_SYMLINK=paramiko.sftp_handle-module.html#CMD_SYMLINK,Variable paramiko.sftp_server.CMD_SYMLINK=paramiko.sftp_server-module.html#CMD_SYMLINK,Variable paramiko.sftp_si.CMD_SYMLINK=paramiko.sftp_si-module.html#CMD_SYMLINK"><a title="paramiko.sftp.CMD_SYMLINK
-paramiko.sftp_attr.CMD_SYMLINK
-paramiko.sftp_client.CMD_SYMLINK
-paramiko.sftp_file.CMD_SYMLINK
-paramiko.sftp_handle.CMD_SYMLINK
-paramiko.sftp_server.CMD_SYMLINK
-paramiko.sftp_si.CMD_SYMLINK" class="py-name" href="#" onclick="return doclink('link-207', 'CMD_SYMLINK', 'link-207');">CMD_SYMLINK</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-comment"># the sftp 2 draft is incorrect here! path always follows target_path</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-name">target_path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-208', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-209', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-210', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-211" class="py-name" targets="Method paramiko.SFTPClient.symlink()=paramiko.SFTPClient-class.html#symlink,Method paramiko.SFTPServerInterface.symlink()=paramiko.SFTPServerInterface-class.html#symlink"><a title="paramiko.SFTPClient.symlink
-paramiko.SFTPServerInterface.symlink" class="py-name" href="#" onclick="return doclink('link-211', 'symlink', 'link-211');">symlink</a></tt><tt class="py-op">(</tt><tt class="py-name">target_path</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-212" class="py-name" targets="Variable paramiko.sftp.CMD_REALPATH=paramiko.sftp-module.html#CMD_REALPATH,Variable paramiko.sftp_attr.CMD_REALPATH=paramiko.sftp_attr-module.html#CMD_REALPATH,Variable paramiko.sftp_client.CMD_REALPATH=paramiko.sftp_client-module.html#CMD_REALPATH,Variable paramiko.sftp_file.CMD_REALPATH=paramiko.sftp_file-module.html#CMD_REALPATH,Variable paramiko.sftp_handle.CMD_REALPATH=paramiko.sftp_handle-module.html#CMD_REALPATH,Variable paramiko.sftp_server.CMD_REALPATH=paramiko.sftp_server-module.html#CMD_REALPATH,Variable paramiko.sftp_si.CMD_REALPATH=paramiko.sftp_si-module.html#CMD_REALPATH"><a title="paramiko.sftp.CMD_REALPATH
-paramiko.sftp_attr.CMD_REALPATH
-paramiko.sftp_client.CMD_REALPATH
-paramiko.sftp_file.CMD_REALPATH
-paramiko.sftp_handle.CMD_REALPATH
-paramiko.sftp_server.CMD_REALPATH
-paramiko.sftp_si.CMD_REALPATH" class="py-name" href="#" onclick="return doclink('link-212', 'CMD_REALPATH', 'link-212');">CMD_REALPATH</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-name">path</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-213', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-name">rpath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-214', 'server', 'link-3');">server</a></tt><tt class="py-op">.</tt><tt id="link-215" class="py-name" targets="Method paramiko.SFTPServerInterface.canonicalize()=paramiko.SFTPServerInterface-class.html#canonicalize"><a title="paramiko.SFTPServerInterface.canonicalize" class="py-name" href="#" onclick="return doclink('link-215', 'canonicalize', 'link-215');">canonicalize</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-216" class="py-name"><a title="paramiko.sftp.CMD_NAME
-paramiko.sftp_attr.CMD_NAME
-paramiko.sftp_client.CMD_NAME
-paramiko.sftp_file.CMD_NAME
-paramiko.sftp_handle.CMD_NAME
-paramiko.sftp_server.CMD_NAME
-paramiko.sftp_si.CMD_NAME" class="py-name" href="#" onclick="return doclink('link-216', 'CMD_NAME', 'link-94');">CMD_NAME</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">rpath</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-217" class="py-name"><a title="paramiko.SFTPAttributes" class="py-name" href="#" onclick="return doclink('link-217', 'SFTPAttributes', 'link-80');">SFTPAttributes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt id="link-218" class="py-name" targets="Variable paramiko.sftp.CMD_EXTENDED=paramiko.sftp-module.html#CMD_EXTENDED,Variable paramiko.sftp_attr.CMD_EXTENDED=paramiko.sftp_attr-module.html#CMD_EXTENDED,Variable paramiko.sftp_client.CMD_EXTENDED=paramiko.sftp_client-module.html#CMD_EXTENDED,Variable paramiko.sftp_file.CMD_EXTENDED=paramiko.sftp_file-module.html#CMD_EXTENDED,Variable paramiko.sftp_handle.CMD_EXTENDED=paramiko.sftp_handle-module.html#CMD_EXTENDED,Variable paramiko.sftp_server.CMD_EXTENDED=paramiko.sftp_server-module.html#CMD_EXTENDED,Variable paramiko.sftp_si.CMD_EXTENDED=paramiko.sftp_si-module.html#CMD_EXTENDED"><a title="paramiko.sftp.CMD_EXTENDED
-paramiko.sftp_attr.CMD_EXTENDED
-paramiko.sftp_client.CMD_EXTENDED
-paramiko.sftp_file.CMD_EXTENDED
-paramiko.sftp_handle.CMD_EXTENDED
-paramiko.sftp_server.CMD_EXTENDED
-paramiko.sftp_si.CMD_EXTENDED" class="py-name" href="#" onclick="return doclink('link-218', 'CMD_EXTENDED', 'link-218');">CMD_EXTENDED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-name">tag</tt> <tt class="py-op">=</tt> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-219', 'get_string', 'link-95');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tag</tt> <tt class="py-op">==</tt> <tt class="py-string">'check-file'</tt><tt class="py-op">:</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_file</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-220" class="py-name" targets="Variable paramiko.sftp.SFTP_OP_UNSUPPORTED=paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_attr.SFTP_OP_UNSUPPORTED=paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_client.SFTP_OP_UNSUPPORTED=paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_file.SFTP_OP_UNSUPPORTED=paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_handle.SFTP_OP_UNSUPPORTED=paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_server.SFTP_OP_UNSUPPORTED=paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_si.SFTP_OP_UNSUPPORTED=paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-220', 'SFTP_OP_UNSUPPORTED', 'link-220');">SFTP_OP_UNSUPPORTED</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_status</tt><tt class="py-op">(</tt><tt class="py-name">request_number</tt><tt class="py-op">,</tt> <tt id="link-221" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-221', 'SFTP_OP_UNSUPPORTED', 'link-220');">SFTP_OP_UNSUPPORTED</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-222" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-222', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name" targets="Module paramiko.sftp_handle=paramiko.sftp_handle-module.html"><a title="paramiko.sftp_handle" class="py-name" href="#" onclick="return doclink('link-223', 'sftp_handle', 'link-223');">sftp_handle</a></tt> <tt class="py-keyword">import</tt> <tt id="link-224" class="py-name"><a title="paramiko.SFTPHandle" class="py-name" href="#" onclick="return doclink('link-224', 'SFTPHandle', 'link-81');">SFTPHandle</a></tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_si-module.html b/docs/paramiko.sftp_si-module.html
deleted file mode 100644
index 38c4bca..0000000
--- a/docs/paramiko.sftp_si-module.html
+++ /dev/null
@@ -1,909 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_si</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_si
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_si-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module sftp_si</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.sftp_si-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.SFTPServerInterface-class.html"
- class="link">SFTPServerInterface</a> is an interface to override for SFTP
- server support.</p>
-
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_ATTRS"></a><span class="summary-name">CMD_ATTRS</span> = <code title="105">105</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_CLOSE"></a><span class="summary-name">CMD_CLOSE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_DATA"></a><span class="summary-name">CMD_DATA</span> = <code title="103">103</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED"></a><span class="summary-name">CMD_EXTENDED</span> = <code title="200">200</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_EXTENDED_REPLY"></a><span class="summary-name">CMD_EXTENDED_REPLY</span> = <code title="201">201</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSETSTAT"></a><span class="summary-name">CMD_FSETSTAT</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_FSTAT"></a><span class="summary-name">CMD_FSTAT</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_HANDLE"></a><span class="summary-name">CMD_HANDLE</span> = <code title="102">102</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_INIT"></a><span class="summary-name">CMD_INIT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_LSTAT"></a><span class="summary-name">CMD_LSTAT</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_MKDIR"></a><span class="summary-name">CMD_MKDIR</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_NAME"></a><span class="summary-name">CMD_NAME</span> = <code title="104">104</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_si-module.html#CMD_NAMES" class="summary-name">CMD_NAMES</a> = <code title="{1: 'init',
- 2: 'version',
- 3: 'open',
- 4: 'close',
- 5: 'read',
- 6: 'write',
- 7: 'lstat',
- 8: 'fstat',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">, </code>5<code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPEN"></a><span class="summary-name">CMD_OPEN</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_OPENDIR"></a><span class="summary-name">CMD_OPENDIR</span> = <code title="11">11</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READ"></a><span class="summary-name">CMD_READ</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READDIR"></a><span class="summary-name">CMD_READDIR</span> = <code title="12">12</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_READLINK"></a><span class="summary-name">CMD_READLINK</span> = <code title="19">19</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REALPATH"></a><span class="summary-name">CMD_REALPATH</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_REMOVE"></a><span class="summary-name">CMD_REMOVE</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RENAME"></a><span class="summary-name">CMD_RENAME</span> = <code title="18">18</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_RMDIR"></a><span class="summary-name">CMD_RMDIR</span> = <code title="15">15</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SETSTAT"></a><span class="summary-name">CMD_SETSTAT</span> = <code title="9">9</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STAT"></a><span class="summary-name">CMD_STAT</span> = <code title="17">17</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_STATUS"></a><span class="summary-name">CMD_STATUS</span> = <code title="101">101</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_SYMLINK"></a><span class="summary-name">CMD_SYMLINK</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_VERSION"></a><span class="summary-name">CMD_VERSION</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CMD_WRITE"></a><span class="summary-name">CMD_WRITE</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_si-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_si-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_BAD_MESSAGE"></a><span class="summary-name">SFTP_BAD_MESSAGE</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_CONNECTION_LOST"></a><span class="summary-name">SFTP_CONNECTION_LOST</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.sftp_si-module.html#SFTP_DESC" class="summary-name">SFTP_DESC</a> = <code title="['Success',
- 'End of file',
- 'No such file',
- 'Permission denied',
- 'Failure',
- 'Bad message',
- 'No connection',
- 'Connection lost',
-..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Permis</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_EOF"></a><span class="summary-name">SFTP_EOF</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FAILURE"></a><span class="summary-name">SFTP_FAILURE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_APPEND"></a><span class="summary-name">SFTP_FLAG_APPEND</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_CREATE"></a><span class="summary-name">SFTP_FLAG_CREATE</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_EXCL"></a><span class="summary-name">SFTP_FLAG_EXCL</span> = <code title="32">32</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_READ"></a><span class="summary-name">SFTP_FLAG_READ</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_TRUNC"></a><span class="summary-name">SFTP_FLAG_TRUNC</span> = <code title="16">16</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_FLAG_WRITE"></a><span class="summary-name">SFTP_FLAG_WRITE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_CONNECTION"></a><span class="summary-name">SFTP_NO_CONNECTION</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_NO_SUCH_FILE"></a><span class="summary-name">SFTP_NO_SUCH_FILE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OK"></a><span class="summary-name">SFTP_OK</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_OP_UNSUPPORTED"></a><span class="summary-name">SFTP_OP_UNSUPPORTED</span> = <code title="8">8</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="SFTP_PERMISSION_DENIED"></a><span class="summary-name">SFTP_PERMISSION_DENIED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CMD_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CMD_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">init</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">version</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">open</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">close</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">read</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">write</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">lstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 8<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">fstat</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="SFTP_DESC"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">SFTP_DESC</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">Success</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">End of file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No such file</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Permission denied</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Failure</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Bad message</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">No connection</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">Connection lost</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.sftp_si-pysrc.html b/docs/paramiko.sftp_si-pysrc.html
deleted file mode 100644
index b7b90ed..0000000
--- a/docs/paramiko.sftp_si-pysrc.html
+++ /dev/null
@@ -1,527 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.sftp_si</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;sftp_si
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.sftp_si-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.sftp_si-module.html" onclick="show_private();">Module paramiko.sftp_si</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{SFTPServerInterface} is an interface to override for SFTP server support.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.sftp=paramiko.sftp-module.html"><a title="paramiko.sftp" class="py-name" href="#" onclick="return doclink('link-3', 'sftp', 'link-3');">sftp</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface"></a><div id="SFTPServerInterface-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="SFTPServerInterface-toggle" onclick="return toggle('SFTPServerInterface');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html">SFTPServerInterface</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SFTPServerInterface-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> This class defines an interface for controlling the behavior of paramiko</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> when using the L{SFTPServer} subsystem to provide an SFTP server.</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> Methods on this class are called from the SFTP session's thread, so you can</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> block as long as necessary without affecting other sessions (even other</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> SFTP sessions). However, raising an exception will usually cause the SFTP</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> session to abruptly end, so you will usually want to catch exceptions and</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> return an appropriate error code.</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> All paths are in string form instead of unicode because not all SFTP</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> clients &amp; servers obey the requirement that paths be encoded in UTF-8.</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.__init__"></a><div id="SFTPServerInterface.__init__-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.__init__-toggle" onclick="return toggle('SFTPServerInterface.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#__init__">__init__</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">server</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">largs</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.__init__-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> Create a new SFTPServerInterface object. This method does nothing by</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> default and is meant to be overridden by subclasses.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> @param server: the server object associated with this channel and</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> SFTP subsystem</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> @type server: L{ServerInterface}</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name" targets="Class paramiko.SFTPServerInterface=paramiko.SFTPServerInterface-class.html"><a title="paramiko.SFTPServerInterface" class="py-name" href="#" onclick="return doclink('link-4', 'SFTPServerInterface', 'link-4');">SFTPServerInterface</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">largs</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.session_started"></a><div id="SFTPServerInterface.session_started-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.session_started-toggle" onclick="return toggle('SFTPServerInterface.session_started');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#session_started">session_started</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.session_started-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.session_started-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> The SFTP server session has just started. This method is meant to be</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> overridden to perform any necessary setup before handling callbacks</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> from SFTP operations.</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.session_ended"></a><div id="SFTPServerInterface.session_ended-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.session_ended-toggle" onclick="return toggle('SFTPServerInterface.session_ended');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#session_ended">session_ended</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.session_ended-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.session_ended-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> The SFTP server session has just ended, either cleanly or via an</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> exception. This method is meant to be overridden to perform any</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> necessary cleanup before this C{SFTPServerInterface} object is</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> destroyed.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.open"></a><div id="SFTPServerInterface.open-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.open-toggle" onclick="return toggle('SFTPServerInterface.open');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#open">open</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">flags</tt><tt class="py-op">,</tt> <tt class="py-param">attr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.open-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.open-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> Open a file on the server and create a handle for future operations</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> on that file. On success, a new object subclassed from L{SFTPHandle}</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> should be returned. This handle will be used for future operations</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> on the file (read, write, etc). On failure, an error code such as</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> L{SFTP_PERMISSION_DENIED} should be returned.</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> C{flags} contains the requested mode for opening (read-only,</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring"> write-append, etc) as a bitset of flags from the C{os} module:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_RDONLY}</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_WRONLY}</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_RDWR}</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_APPEND}</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_CREAT}</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_TRUNC}</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> - C{os.O_EXCL}</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> (One of C{os.O_RDONLY}, C{os.O_WRONLY}, or C{os.O_RDWR} will always</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> be set.)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"> The C{attr} object contains requested attributes of the file if it</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> has to be created. Some or all attribute fields may be missing if</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> the client didn't specify them.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> @note: The SFTP protocol defines all files to be in "binary" mode.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> There is no equivalent to python's "text" mode.</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the requested path (relative or absolute) of the file</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> to be opened.</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> @param flags: flags or'd together from the C{os} module indicating the</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> requested mode for opening the file.</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> @type flags: int</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> @param attr: requested attributes of the file if it is newly created.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> @type attr: L{SFTPAttributes}</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new L{SFTPHandle} I{or error code}.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> @rtype L{SFTPHandle}</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name" targets="Variable paramiko.sftp.SFTP_OP_UNSUPPORTED=paramiko.sftp-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_attr.SFTP_OP_UNSUPPORTED=paramiko.sftp_attr-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_client.SFTP_OP_UNSUPPORTED=paramiko.sftp_client-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_file.SFTP_OP_UNSUPPORTED=paramiko.sftp_file-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_handle.SFTP_OP_UNSUPPORTED=paramiko.sftp_handle-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_server.SFTP_OP_UNSUPPORTED=paramiko.sftp_server-module.html#SFTP_OP_UNSUPPORTED,Variable paramiko.sftp_si.SFTP_OP_UNSUPPORTED=paramiko.sftp_si-module.html#SFTP_OP_UNSUPPORTED"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-6', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.list_folder"></a><div id="SFTPServerInterface.list_folder-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.list_folder-toggle" onclick="return toggle('SFTPServerInterface.list_folder');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#list_folder">list_folder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.list_folder-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.list_folder-expanded"><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> Return a list of files within a given folder. The C{path} will use</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> posix notation (C{"/"} separates folder names) and may be an absolute</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> or relative path.</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> The list of files is expected to be a list of L{SFTPAttributes}</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> objects, which are similar in structure to the objects returned by</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> C{os.stat}. In addition, each object should have its C{filename}</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> field filled in, since this is important to a directory listing and</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> not normally present in C{os.stat} results. The method</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> L{SFTPAttributes.from_stat} will usually do what you want.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> In case of an error, you should return one of the C{SFTP_*} error</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> codes, such as L{SFTP_PERMISSION_DENIED}.</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the requested path (relative or absolute) to be listed.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> @return: a list of the files in the given folder, using</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> L{SFTPAttributes} objects.</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list of L{SFTPAttributes} I{or error code}</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> @note: You should normalize the given C{path} first (see the</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> C{os.path} module) and check appropriate permissions before returning</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> the list of files. Be careful of malicious clients attempting to use</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> relative paths to escape restricted folders, if you're doing a direct</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> translation from the SFTP server path to your local filesystem.</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-7" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-7', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.stat"></a><div id="SFTPServerInterface.stat-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.stat-toggle" onclick="return toggle('SFTPServerInterface.stat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#stat">stat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.stat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.stat-expanded"><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"> Return an L{SFTPAttributes} object for a path on the server, or an</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> error code. If your server supports symbolic links (also known as</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> "aliases"), you should follow them. (L{lstat} is the corresponding</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> call that doesn't follow symlinks/aliases.)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the requested path (relative or absolute) to fetch</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> file statistics for.</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> @return: an attributes object for the given file, or an SFTP error</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> code (like L{SFTP_PERMISSION_DENIED}).</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPAttributes} I{or error code}</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-8', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.lstat"></a><div id="SFTPServerInterface.lstat-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.lstat-toggle" onclick="return toggle('SFTPServerInterface.lstat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#lstat">lstat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.lstat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.lstat-expanded"><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> Return an L{SFTPAttributes} object for a path on the server, or an</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> error code. If your server supports symbolic links (also known as</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> "aliases"), you should I{not} follow them -- instead, you should</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> return data on the symlink or alias itself. (L{stat} is the</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> corresponding call that follows symlinks/aliases.)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the requested path (relative or absolute) to fetch</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> file statistics for.</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> @return: an attributes object for the given file, or an SFTP error</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> code (like L{SFTP_PERMISSION_DENIED}).</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPAttributes} I{or error code}</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-9" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-9', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.remove"></a><div id="SFTPServerInterface.remove-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.remove-toggle" onclick="return toggle('SFTPServerInterface.remove');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#remove">remove</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.remove-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.remove-expanded"><a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> Delete a file, if possible.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> @param path: the requested path (relative or absolute) of the file</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> to delete.</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SFTP error code like L{SFTP_OK}.</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-10" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-10', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.rename"></a><div id="SFTPServerInterface.rename-def"><a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.rename-toggle" onclick="return toggle('SFTPServerInterface.rename');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#rename">rename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">oldpath</tt><tt class="py-op">,</tt> <tt class="py-param">newpath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.rename-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.rename-expanded"><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> Rename (or move) a file. The SFTP specification implies that this</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"> method can be used to move an existing file into a different folder,</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> and since there's no other (easy) way to move files via SFTP, it's</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> probably a good idea to implement "move" in this method too, even for</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> files that cross disk partition boundaries, if at all possible.</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"> @note: You should return an error if a file with the same name as</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> C{newpath} already exists. (The rename operation should be</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"> non-desctructive.)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> @param oldpath: the requested path (relative or absolute) of the</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> existing file.</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> @type oldpath: str</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> @param newpath: the requested new path of the file.</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"> @type newpath: str</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SFTP error code like L{SFTP_OK}.</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-11" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-11', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.mkdir"></a><div id="SFTPServerInterface.mkdir-def"><a name="L209"></a><tt class="py-lineno">209</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.mkdir-toggle" onclick="return toggle('SFTPServerInterface.mkdir');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#mkdir">mkdir</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">attr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.mkdir-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.mkdir-expanded"><a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> Create a new directory with the given attributes. The C{attr}</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> object may be considered a "hint" and ignored.</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> The C{attr} object will contain only those fields provided by the</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> client in its request, so you should use C{hasattr} to check for</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring"> the presense of fields before using them. In some cases, the C{attr}</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"> object may be completely empty.</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> @param path: requested path (relative or absolute) of the new</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> folder.</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> @param attr: requested attributes of the new folder.</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> @type attr: L{SFTPAttributes}</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SFTP error code like L{SFTP_OK}.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-12" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-12', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.rmdir"></a><div id="SFTPServerInterface.rmdir-def"><a name="L229"></a><tt class="py-lineno">229</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.rmdir-toggle" onclick="return toggle('SFTPServerInterface.rmdir');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#rmdir">rmdir</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.rmdir-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.rmdir-expanded"><a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> Remove a directory if it exists. The C{path} should refer to an</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> existing, empty folder -- otherwise this method should return an</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> error.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> @param path: requested path (relative or absolute) of the folder</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> to remove.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> @return: an SFTP error code like L{SFTP_OK}.</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-13" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-13', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.chattr"></a><div id="SFTPServerInterface.chattr-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.chattr-toggle" onclick="return toggle('SFTPServerInterface.chattr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#chattr">chattr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">attr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.chattr-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.chattr-expanded"><a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"> Change the attributes of a file. The C{attr} object will contain</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> only those fields provided by the client in its request, so you</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> should check for the presence of fields before using them.</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> @param path: requested path (relative or absolute) of the file to</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> change.</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> @param attr: requested attributes to change on the file.</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> @type attr: L{SFTPAttributes}</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> @return: an error code like L{SFTP_OK}.</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-14" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-14', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.canonicalize"></a><div id="SFTPServerInterface.canonicalize-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.canonicalize-toggle" onclick="return toggle('SFTPServerInterface.canonicalize');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#canonicalize">canonicalize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.canonicalize-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.canonicalize-expanded"><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> Return the canonical form of a path on the server. For example,</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"> if the server's home folder is C{/home/foo}, the path</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> C{"../betty"} would be canonicalized to C{"/home/betty"}. Note</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> the obvious security issues: if you're serving files only from a</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> specific folder, you probably don't want this method to reveal path</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> names outside that folder.</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> You may find the python methods in C{os.path} useful, especially</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> C{os.path.normpath} and C{os.path.realpath}.</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> The default implementation returns C{os.path.normpath('/' + path)}.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isabs</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">normpath</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">normpath</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">platform</tt> <tt class="py-op">==</tt> <tt class="py-string">'win32'</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-comment"># on windows, normalize backslashes to sftp/posix format</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">'/'</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.readlink"></a><div id="SFTPServerInterface.readlink-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.readlink-toggle" onclick="return toggle('SFTPServerInterface.readlink');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#readlink">readlink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.readlink-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.readlink-expanded"><a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"> Return the target of a symbolic link (or shortcut) on the server.</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"><tt class="py-docstring"> If the specified path doesn't refer to a symbolic link, an error</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"><tt class="py-docstring"> should be returned.</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path (relative or absolute) of the symbolic link.</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"> @return: the target path of the symbolic link, or an error code like</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"> L{SFTP_NO_SUCH_FILE}.</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str I{or error code}</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-15" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-15', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div><a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> </tt>
-<a name="SFTPServerInterface.symlink"></a><div id="SFTPServerInterface.symlink-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="SFTPServerInterface.symlink-toggle" onclick="return toggle('SFTPServerInterface.symlink');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.sftp_si.SFTPServerInterface-class.html#symlink">symlink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target_path</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SFTPServerInterface.symlink-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SFTPServerInterface.symlink-expanded"><a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> Create a symbolic link on the server, as new pathname C{path},</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"> with C{target_path} as the target of the link.</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-docstring"> @param target_path: path (relative or absolute) of the target for</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"><tt class="py-docstring"> this new symbolic link.</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"><tt class="py-docstring"> @type target_path: str</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"><tt class="py-docstring"> @param path: path (relative or absolute) of the symbolic link to</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"><tt class="py-docstring"> create.</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-docstring"> @type path: str</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-docstring"> @return: an error code like C{SFTP_OK}.</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-16" class="py-name"><a title="paramiko.sftp.SFTP_OP_UNSUPPORTED
-paramiko.sftp_attr.SFTP_OP_UNSUPPORTED
-paramiko.sftp_client.SFTP_OP_UNSUPPORTED
-paramiko.sftp_file.SFTP_OP_UNSUPPORTED
-paramiko.sftp_handle.SFTP_OP_UNSUPPORTED
-paramiko.sftp_server.SFTP_OP_UNSUPPORTED
-paramiko.sftp_si.SFTP_OP_UNSUPPORTED" class="py-name" href="#" onclick="return doclink('link-16', 'SFTP_OP_UNSUPPORTED', 'link-6');">SFTP_OP_UNSUPPORTED</a></tt> </tt>
-</div></div><a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:07 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ssh_exception-module.html b/docs/paramiko.ssh_exception-module.html
deleted file mode 100644
index 94b99c1..0000000
--- a/docs/paramiko.ssh_exception-module.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ssh_exception</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;ssh_exception
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ssh_exception-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module ssh_exception</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html">source&nbsp;code</a></span></p>
-<p>Exceptions defined by paramiko.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.ssh_exception.PartialAuthentication-class.html" class="summary-name">PartialAuthentication</a><br />
- An internal exception thrown in the case of partial authentication.
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ssh_exception-pysrc.html b/docs/paramiko.ssh_exception-pysrc.html
deleted file mode 100644
index 1fe0c05..0000000
--- a/docs/paramiko.ssh_exception-pysrc.html
+++ /dev/null
@@ -1,403 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ssh_exception</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;ssh_exception
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ssh_exception-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.ssh_exception-module.html" onclick="show_private();">Module paramiko.ssh_exception</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Exceptions defined by paramiko.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
-<a name="SSHException"></a><div id="SSHException-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="SSHException-toggle" onclick="return toggle('SSHException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.SSHException-class.html">SSHException</a> <tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SSHException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SSHException-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring"> Exception raised by failures in SSH2 protocol negotiation or logic errors.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
-<a name="AuthenticationException"></a><div id="AuthenticationException-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="AuthenticationException-toggle" onclick="return toggle('AuthenticationException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.AuthenticationException-class.html">AuthenticationException</a> <tt class="py-op">(</tt><tt class="py-base-class">SSHException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="AuthenticationException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AuthenticationException-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"> Exception raised when authentication failed for some reason. It may be</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> possible to retry with different credentials. (Other classes specify more</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> specific reasons.)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.6</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
-<a name="PasswordRequiredException"></a><div id="PasswordRequiredException-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="PasswordRequiredException-toggle" onclick="return toggle('PasswordRequiredException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.PasswordRequiredException-class.html">PasswordRequiredException</a> <tt class="py-op">(</tt><tt class="py-base-class">AuthenticationException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PasswordRequiredException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PasswordRequiredException-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> Exception raised when a password is needed to unlock a private key file.</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
-<a name="BadAuthenticationType"></a><div id="BadAuthenticationType-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="BadAuthenticationType-toggle" onclick="return toggle('BadAuthenticationType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.BadAuthenticationType-class.html">BadAuthenticationType</a> <tt class="py-op">(</tt><tt class="py-base-class">AuthenticationException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BadAuthenticationType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BadAuthenticationType-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"> Exception raised when an authentication type (like password) is used, but</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> the server isn't allowing that type. (It may only allow public-key, for</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> example.)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> @ivar allowed_types: list of allowed authentication types provided by the</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> server (possible values are: C{"none"}, C{"password"}, and</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> C{"publickey"}).</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> @type allowed_types: list</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Variable paramiko.BadAuthenticationType.allowed_types=paramiko.BadAuthenticationType-class.html#allowed_types,Variable paramiko.ssh_exception.PartialAuthentication.allowed_types=paramiko.ssh_exception.PartialAuthentication-class.html#allowed_types"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-0', 'allowed_types', 'link-0');">allowed_types</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
-<a name="BadAuthenticationType.__init__"></a><div id="BadAuthenticationType.__init__-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="BadAuthenticationType.__init__-toggle" onclick="return toggle('BadAuthenticationType.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ssh_exception.BadAuthenticationType-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">explanation</tt><tt class="py-op">,</tt> <tt class="py-param">types</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BadAuthenticationType.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BadAuthenticationType.__init__-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt id="link-1" class="py-name" targets="Class paramiko.AuthenticationException=paramiko.AuthenticationException-class.html"><a title="paramiko.AuthenticationException" class="py-name" href="#" onclick="return doclink('link-1', 'AuthenticationException', 'link-1');">AuthenticationException</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-2', '__init__', 'link-2');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">explanation</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-3', 'allowed_types', 'link-0');">allowed_types</a></tt> <tt class="py-op">=</tt> <tt class="py-name">types</tt> </tt>
-</div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
-<a name="BadAuthenticationType.__str__"></a><div id="BadAuthenticationType.__str__-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="BadAuthenticationType.__str__-toggle" onclick="return toggle('BadAuthenticationType.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ssh_exception.BadAuthenticationType-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BadAuthenticationType.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BadAuthenticationType.__str__-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-4" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-4', 'SSHException', 'link-4');">SSHException</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method paramiko.AgentKey.__str__()=paramiko.AgentKey-class.html#__str__,Method paramiko.BadAuthenticationType.__str__()=paramiko.BadAuthenticationType-class.html#__str__,Method paramiko.DSSKey.__str__()=paramiko.DSSKey-class.html#__str__,Method paramiko.Message.__str__()=paramiko.Message-class.html#__str__,Method paramiko.PKey.__str__()=paramiko.PKey-class.html#__str__,Method paramiko.RSAKey.__str__()=paramiko.RSAKey-class.html#__str__,Method paramiko.SFTPAttributes.__str__()=paramiko.SFTPAttributes-class.html#__str__,Method paramiko.ber.BER.__str__()=paramiko.ber.BER-class.html#__str__"><a title="paramiko.AgentKey.__str__
-paramiko.BadAuthenticationType.__str__
-paramiko.DSSKey.__str__
-paramiko.Message.__str__
-paramiko.PKey.__str__
-paramiko.RSAKey.__str__
-paramiko.SFTPAttributes.__str__
-paramiko.ber.BER.__str__" class="py-name" href="#" onclick="return doclink('link-5', '__str__', 'link-5');">__str__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' (allowed_types=%r)'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-6', 'allowed_types', 'link-0');">allowed_types</a></tt> </tt>
-</div></div><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
-<a name="PartialAuthentication"></a><div id="PartialAuthentication-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="PartialAuthentication-toggle" onclick="return toggle('PartialAuthentication');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.PartialAuthentication-class.html">PartialAuthentication</a> <tt class="py-op">(</tt><tt class="py-base-class">AuthenticationException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PartialAuthentication-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PartialAuthentication-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> An internal exception thrown in the case of partial authentication.</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt id="link-7" class="py-name"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-7', 'allowed_types', 'link-0');">allowed_types</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
-<a name="PartialAuthentication.__init__"></a><div id="PartialAuthentication.__init__-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="PartialAuthentication.__init__-toggle" onclick="return toggle('PartialAuthentication.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ssh_exception.PartialAuthentication-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">types</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PartialAuthentication.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PartialAuthentication.__init__-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt id="link-8" class="py-name"><a title="paramiko.AuthenticationException" class="py-name" href="#" onclick="return doclink('link-8', 'AuthenticationException', 'link-1');">AuthenticationException</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-9', '__init__', 'link-2');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'partial authentication'</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-10', 'allowed_types', 'link-0');">allowed_types</a></tt> <tt class="py-op">=</tt> <tt class="py-name">types</tt> </tt>
-</div></div><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
-<a name="ChannelException"></a><div id="ChannelException-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="ChannelException-toggle" onclick="return toggle('ChannelException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.ChannelException-class.html">ChannelException</a> <tt class="py-op">(</tt><tt class="py-base-class">SSHException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ChannelException-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> Exception raised when an attempt to open a new L{Channel} fails.</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> @ivar code: the error code returned by the server</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> @type code: int</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.6</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="ChannelException.__init__"></a><div id="ChannelException.__init__-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="ChannelException.__init__-toggle" onclick="return toggle('ChannelException.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ssh_exception.ChannelException-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">code</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelException.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ChannelException.__init__-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-11', 'SSHException', 'link-4');">SSHException</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-12', '__init__', 'link-2');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">code</tt> </tt>
-</div></div><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
-<a name="BadHostKeyException"></a><div id="BadHostKeyException-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="BadHostKeyException-toggle" onclick="return toggle('BadHostKeyException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.ssh_exception.BadHostKeyException-class.html">BadHostKeyException</a> <tt class="py-op">(</tt><tt class="py-base-class">SSHException</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BadHostKeyException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BadHostKeyException-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"> The host key given by the SSH server did not match what we were expecting.</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> @ivar hostname: the hostname of the SSH server</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> @type hostname: str</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> @ivar key: the host key presented by the server</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> @type key: L{PKey}</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> @ivar expected_key: the host key expected</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> @type expected_key: L{PKey}</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.6</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="BadHostKeyException.__init__"></a><div id="BadHostKeyException.__init__-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="BadHostKeyException.__init__-toggle" onclick="return toggle('BadHostKeyException.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.ssh_exception.BadHostKeyException-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">got_key</tt><tt class="py-op">,</tt> <tt class="py-param">expected_key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BadHostKeyException.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BadHostKeyException.__init__-expanded"><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-13', 'SSHException', 'link-4');">SSHException</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-14', '__init__', 'link-2');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'Host key for server %s does not match!'</tt> <tt class="py-op">%</tt> <tt class="py-name">hostname</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hostname</tt> <tt class="py-op">=</tt> <tt class="py-name">hostname</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">got_key</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expected_key</tt> <tt class="py-op">=</tt> <tt class="py-name">expected_key</tt> </tt>
-</div></div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.ssh_exception.PartialAuthentication-class.html b/docs/paramiko.ssh_exception.PartialAuthentication-class.html
deleted file mode 100644
index 91062e3..0000000
--- a/docs/paramiko.ssh_exception.PartialAuthentication-class.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.ssh_exception.PartialAuthentication</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.ssh_exception-module.html" onclick="show_private();">Module&nbsp;ssh_exception</a> ::
- Class&nbsp;PartialAuthentication
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.ssh_exception.PartialAuthentication-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PartialAuthentication</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html#PartialAuthentication">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+
- |
-exceptions.BaseException --+
- |
- exceptions.Exception --+
- |
- <a href="paramiko.SSHException-class.html">SSHException</a> --+
- |
- <a href="paramiko.AuthenticationException-class.html">AuthenticationException</a> --+
- |
- <strong class="uidshort">PartialAuthentication</strong>
-</pre>
-
-<hr />
-<p>An internal exception thrown in the case of partial
- authentication.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.ssh_exception.PartialAuthentication-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">types</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.ssh_exception-pysrc.html#PartialAuthentication.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
- <code>__new__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>__delattr__</code>,
- <code>__getattribute__</code>,
- <code>__getitem__</code>,
- <code>__getslice__</code>,
- <code>__reduce__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__setstate__</code>,
- <code>__str__</code>,
- <code>__unicode__</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__format__</code>,
- <code>__hash__</code>,
- <code>__reduce_ex__</code>,
- <code>__sizeof__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS VARIABLES ==================== -->
-<a name="section-ClassVariables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="allowed_types"></a><span class="summary-name">allowed_types</span> = <code title="[]"><code class="variable-group">[</code><code class="variable-group">]</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
- <code>args</code>,
- <code>message</code>
- </p>
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">types</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.ssh_exception-pysrc.html#PartialAuthentication.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.transport-module.html b/docs/paramiko.transport-module.html
deleted file mode 100644
index 3bf3152..0000000
--- a/docs/paramiko.transport-module.html
+++ /dev/null
@@ -1,548 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.transport</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;transport
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.transport-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module transport</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.transport-pysrc.html">source&nbsp;code</a></span></p>
-<p><a href="paramiko.Transport-class.html" class="link">Transport</a>
- handles the core SSH2 protocol.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.transport.ChannelMap-class.html" class="summary-name">ChannelMap</a>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.transport-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.transport-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.transport-pysrc.html b/docs/paramiko.transport-pysrc.html
deleted file mode 100644
index de00079..0000000
--- a/docs/paramiko.transport-pysrc.html
+++ /dev/null
@@ -1,4153 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.transport</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;transport
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.transport-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.transport-module.html" onclick="show_private();">Module paramiko.transport</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">L{Transport} handles the core SSH2 protocol.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">weakref</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module paramiko.util=paramiko.util-module.html"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.auth_handler=paramiko.auth_handler-module.html"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-3', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">AuthHandler</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-4', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module paramiko.channel=paramiko.channel-module.html"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-5', 'channel', 'link-5');">channel</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class paramiko.Channel=paramiko.Channel-class.html"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-6', 'Channel', 'link-6');">Channel</a></tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-7', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-8', 'common', 'link-8');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-9', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Module paramiko.compress=paramiko.compress-module.html"><a title="paramiko.compress" class="py-name" href="#" onclick="return doclink('link-10', 'compress', 'link-10');">compress</a></tt> <tt class="py-keyword">import</tt> <tt id="link-11" class="py-name" targets="Class paramiko.compress.ZlibCompressor=paramiko.compress.ZlibCompressor-class.html"><a title="paramiko.compress.ZlibCompressor" class="py-name" href="#" onclick="return doclink('link-11', 'ZlibCompressor', 'link-11');">ZlibCompressor</a></tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Class paramiko.compress.ZlibDecompressor=paramiko.compress.ZlibDecompressor-class.html"><a title="paramiko.compress.ZlibDecompressor" class="py-name" href="#" onclick="return doclink('link-12', 'ZlibDecompressor', 'link-12');">ZlibDecompressor</a></tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-13', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module paramiko.dsskey=paramiko.dsskey-module.html"><a title="paramiko.dsskey" class="py-name" href="#" onclick="return doclink('link-14', 'dsskey', 'link-14');">dsskey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class paramiko.DSSKey=paramiko.DSSKey-class.html"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-15', 'DSSKey', 'link-15');">DSSKey</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-16', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Module paramiko.kex_gex=paramiko.kex_gex-module.html"><a title="paramiko.kex_gex" class="py-name" href="#" onclick="return doclink('link-17', 'kex_gex', 'link-17');">kex_gex</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Class paramiko.kex_gex.KexGex=paramiko.kex_gex.KexGex-class.html"><a title="paramiko.kex_gex.KexGex" class="py-name" href="#" onclick="return doclink('link-18', 'KexGex', 'link-18');">KexGex</a></tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-19" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-19', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module paramiko.kex_group1=paramiko.kex_group1-module.html"><a title="paramiko.kex_group1" class="py-name" href="#" onclick="return doclink('link-20', 'kex_group1', 'link-20');">kex_group1</a></tt> <tt class="py-keyword">import</tt> <tt id="link-21" class="py-name" targets="Class paramiko.kex_group1.KexGroup1=paramiko.kex_group1.KexGroup1-class.html"><a title="paramiko.kex_group1.KexGroup1" class="py-name" href="#" onclick="return doclink('link-21', 'KexGroup1', 'link-21');">KexGroup1</a></tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-22" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-22', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Module paramiko.message=paramiko.message-module.html"><a title="paramiko.message" class="py-name" href="#" onclick="return doclink('link-23', 'message', 'link-23');">message</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class paramiko.Message=paramiko.Message-class.html"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-24', 'Message', 'link-24');">Message</a></tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-25" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-25', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Module paramiko.packet=paramiko.packet-module.html"><a title="paramiko.packet" class="py-name" href="#" onclick="return doclink('link-26', 'packet', 'link-26');">packet</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">Packetizer</tt><tt class="py-op">,</tt> <tt id="link-27" class="py-name" targets="Class paramiko.packet.NeedRekeyException=paramiko.packet.NeedRekeyException-class.html"><a title="paramiko.packet.NeedRekeyException" class="py-name" href="#" onclick="return doclink('link-27', 'NeedRekeyException', 'link-27');">NeedRekeyException</a></tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-28', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Module paramiko.primes=paramiko.primes-module.html"><a title="paramiko.primes" class="py-name" href="#" onclick="return doclink('link-29', 'primes', 'link-29');">primes</a></tt> <tt class="py-keyword">import</tt> <tt id="link-30" class="py-name" targets="Class paramiko.primes.ModulusPack=paramiko.primes.ModulusPack-class.html"><a title="paramiko.primes.ModulusPack" class="py-name" href="#" onclick="return doclink('link-30', 'ModulusPack', 'link-30');">ModulusPack</a></tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-31', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Module paramiko.rsakey=paramiko.rsakey-module.html"><a title="paramiko.rsakey" class="py-name" href="#" onclick="return doclink('link-32', 'rsakey', 'link-32');">rsakey</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name" targets="Class paramiko.RSAKey=paramiko.RSAKey-class.html"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-33', 'RSAKey', 'link-33');">RSAKey</a></tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-34" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-34', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Module paramiko.server=paramiko.server-module.html"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-35', 'server', 'link-35');">server</a></tt> <tt class="py-keyword">import</tt> <tt id="link-36" class="py-name" targets="Class paramiko.ServerInterface=paramiko.ServerInterface-class.html"><a title="paramiko.ServerInterface" class="py-name" href="#" onclick="return doclink('link-36', 'ServerInterface', 'link-36');">ServerInterface</a></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-37" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-37', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Module paramiko.sftp_client=paramiko.sftp_client-module.html"><a title="paramiko.sftp_client" class="py-name" href="#" onclick="return doclink('link-38', 'sftp_client', 'link-38');">sftp_client</a></tt> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name" targets="Class paramiko.SFTPClient=paramiko.SFTPClient-class.html"><a title="paramiko.SFTPClient" class="py-name" href="#" onclick="return doclink('link-39', 'SFTPClient', 'link-39');">SFTPClient</a></tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-40" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-40', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Module paramiko.ssh_exception=paramiko.ssh_exception-module.html"><a title="paramiko.ssh_exception" class="py-name" href="#" onclick="return doclink('link-41', 'ssh_exception', 'link-41');">ssh_exception</a></tt> <tt class="py-keyword">import</tt> <tt id="link-42" class="py-name" targets="Class paramiko.SSHException=paramiko.SSHException-class.html"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-42', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">,</tt> <tt id="link-43" class="py-name" targets="Class paramiko.BadAuthenticationType=paramiko.BadAuthenticationType-class.html"><a title="paramiko.BadAuthenticationType" class="py-name" href="#" onclick="return doclink('link-43', 'BadAuthenticationType', 'link-43');">BadAuthenticationType</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name" targets="Class paramiko.ChannelException=paramiko.ChannelException-class.html"><a title="paramiko.ChannelException" class="py-name" href="#" onclick="return doclink('link-44', 'ChannelException', 'link-44');">ChannelException</a></tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Random</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Cipher</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Blowfish</tt><tt class="py-op">,</tt> <tt class="py-name">AES</tt><tt class="py-op">,</tt> <tt class="py-name">DES3</tt><tt class="py-op">,</tt> <tt class="py-name">ARC4</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Hash</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SHA</tt><tt class="py-op">,</tt> <tt class="py-name">MD5</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">Crypto</tt><tt class="py-op">.</tt><tt class="py-name">Util</tt> <tt class="py-keyword">import</tt> <tt id="link-45" class="py-name" targets="Class paramiko.util.Counter=paramiko.util.Counter-class.html"><a title="paramiko.util.Counter" class="py-name" href="#" onclick="return doclink('link-45', 'Counter', 'link-45');">Counter</a></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-46" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-46', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-47', 'util', 'link-1');">util</a></tt> <tt class="py-keyword">import</tt> <tt id="link-48" class="py-name"><a title="paramiko.util.Counter" class="py-name" href="#" onclick="return doclink('link-48', 'Counter', 'link-45');">Counter</a></tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-comment"># for thread cleanup</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable paramiko.transport._active_threads=paramiko.transport-module.html#_active_threads"><a title="paramiko.transport._active_threads" class="py-name" href="#" onclick="return doclink('link-49', '_active_threads', 'link-49');">_active_threads</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="_join_lingering_threads"></a><div id="_join_lingering_threads-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="_join_lingering_threads-toggle" onclick="return toggle('_join_lingering_threads');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport-module.html#_join_lingering_threads">_join_lingering_threads</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_join_lingering_threads-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_join_lingering_threads-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">thr</tt> <tt class="py-keyword">in</tt> <tt id="link-50" class="py-name"><a title="paramiko.transport._active_threads" class="py-name" href="#" onclick="return doclink('link-50', '_active_threads', 'link-49');">_active_threads</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">thr</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method paramiko.Transport.stop_thread()=paramiko.Transport-class.html#stop_thread"><a title="paramiko.Transport.stop_thread" class="py-name" href="#" onclick="return doclink('link-51', 'stop_thread', 'link-51');">stop_thread</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">atexit</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-name">atexit</tt><tt class="py-op">.</tt><tt class="py-name">register</tt><tt class="py-op">(</tt><tt class="py-name">_join_lingering_threads</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions"></a><div id="SecurityOptions-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="SecurityOptions-toggle" onclick="return toggle('SecurityOptions');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html">SecurityOptions</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SecurityOptions-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> Simple object containing the security preferences of an ssh transport.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> These are tuples of acceptable ciphers, digests, key types, and key</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> exchange algorithms, listed in order of preference.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> Changing the contents and/or order of these fields affects the underlying</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport} (but only if you change them before starting the session).</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> If you try to add an algorithm that paramiko doesn't recognize,</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> C{ValueError} will be raised. If you try to assign something besides a</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> tuple to one of the fields, C{TypeError} will be raised.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">__slots__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'ciphers'</tt><tt class="py-op">,</tt> <tt class="py-string">'digests'</tt><tt class="py-op">,</tt> <tt class="py-string">'key_types'</tt><tt class="py-op">,</tt> <tt class="py-string">'kex'</tt><tt class="py-op">,</tt> <tt class="py-string">'compression'</tt><tt class="py-op">,</tt> <tt class="py-string">'_transport'</tt> <tt class="py-op">]</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions.__init__"></a><div id="SecurityOptions.__init__-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="SecurityOptions.__init__-toggle" onclick="return toggle('SecurityOptions.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">transport</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions.__init__-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name" targets="Module paramiko.transport=paramiko.transport-module.html"><a title="paramiko.transport" class="py-name" href="#" onclick="return doclink('link-52', 'transport', 'link-52');">transport</a></tt> </tt>
-</div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions.__repr__"></a><div id="SecurityOptions.__repr__-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="SecurityOptions.__repr__-toggle" onclick="return toggle('SecurityOptions.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions.__repr__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions.__repr__-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> Returns a string representation of this object, for debugging.</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;paramiko.SecurityOptions for %s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._get_ciphers"></a><div id="SecurityOptions._get_ciphers-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="SecurityOptions._get_ciphers-toggle" onclick="return toggle('SecurityOptions._get_ciphers');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_get_ciphers">_get_ciphers</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._get_ciphers-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._get_ciphers-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Variable paramiko.Transport._preferred_ciphers=paramiko.Transport-class.html#_preferred_ciphers"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-53', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt> </tt>
-</div><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._get_digests"></a><div id="SecurityOptions._get_digests-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="SecurityOptions._get_digests-toggle" onclick="return toggle('SecurityOptions._get_digests');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_get_digests">_get_digests</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._get_digests-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._get_digests-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Variable paramiko.Transport._preferred_macs=paramiko.Transport-class.html#_preferred_macs"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-54', '_preferred_macs', 'link-54');">_preferred_macs</a></tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._get_key_types"></a><div id="SecurityOptions._get_key_types-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="SecurityOptions._get_key_types-toggle" onclick="return toggle('SecurityOptions._get_key_types');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_get_key_types">_get_key_types</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._get_key_types-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._get_key_types-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Variable paramiko.Transport._preferred_keys=paramiko.Transport-class.html#_preferred_keys"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-55', '_preferred_keys', 'link-55');">_preferred_keys</a></tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._get_kex"></a><div id="SecurityOptions._get_kex-def"><a name="L100"></a><tt class="py-lineno"> 100</tt> <a class="py-toggle" href="#" id="SecurityOptions._get_kex-toggle" onclick="return toggle('SecurityOptions._get_kex');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_get_kex">_get_kex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._get_kex-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._get_kex-expanded"><a name="L101"></a><tt class="py-lineno"> 101</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Variable paramiko.Transport._preferred_kex=paramiko.Transport-class.html#_preferred_kex"><a title="paramiko.Transport._preferred_kex" class="py-name" href="#" onclick="return doclink('link-56', '_preferred_kex', 'link-56');">_preferred_kex</a></tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno"> 102</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._get_compression"></a><div id="SecurityOptions._get_compression-def"><a name="L103"></a><tt class="py-lineno"> 103</tt> <a class="py-toggle" href="#" id="SecurityOptions._get_compression-toggle" onclick="return toggle('SecurityOptions._get_compression');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_get_compression">_get_compression</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._get_compression-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._get_compression-expanded"><a name="L104"></a><tt class="py-lineno"> 104</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Variable paramiko.Transport._preferred_compression=paramiko.Transport-class.html#_preferred_compression"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-57', '_preferred_compression', 'link-57');">_preferred_compression</a></tt> </tt>
-</div><a name="L105"></a><tt class="py-lineno"> 105</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._set"></a><div id="SecurityOptions._set-def"><a name="L106"></a><tt class="py-lineno"> 106</tt> <a class="py-toggle" href="#" id="SecurityOptions._set-toggle" onclick="return toggle('SecurityOptions._set');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_set">_set</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">orig</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._set-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._set-expanded"><a name="L107"></a><tt class="py-lineno"> 107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">list</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno"> 108</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno"> 109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tuple</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno"> 110</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'expected tuple or list'</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno"> 111</tt> <tt class="py-line"> <tt class="py-name">possible</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">,</tt> <tt class="py-name">orig</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method paramiko.HostKeys.keys()=paramiko.HostKeys-class.html#keys"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-58', 'keys', 'link-58');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno"> 112</tt> <tt class="py-line"> <tt class="py-name">forbidden</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name" targets="Method paramiko.util.PFilter.filter()=paramiko.util.PFilter-class.html#filter"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-59', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">n</tt><tt class="py-op">:</tt> <tt class="py-name">n</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">possible</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno"> 113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">forbidden</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno"> 114</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">'unknown cipher'</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno"> 115</tt> <tt class="py-line"> <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport</tt><tt class="py-op">,</tt> <tt id="link-60" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-60', 'name', 'link-60');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._set_ciphers"></a><div id="SecurityOptions._set_ciphers-def"><a name="L117"></a><tt class="py-lineno"> 117</tt> <a class="py-toggle" href="#" id="SecurityOptions._set_ciphers-toggle" onclick="return toggle('SecurityOptions._set_ciphers');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_set_ciphers">_set_ciphers</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._set_ciphers-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._set_ciphers-expanded"><a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">(</tt><tt class="py-string">'_preferred_ciphers'</tt><tt class="py-op">,</tt> <tt class="py-string">'_cipher_info'</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._set_digests"></a><div id="SecurityOptions._set_digests-def"><a name="L120"></a><tt class="py-lineno"> 120</tt> <a class="py-toggle" href="#" id="SecurityOptions._set_digests-toggle" onclick="return toggle('SecurityOptions._set_digests');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_set_digests">_set_digests</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._set_digests-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._set_digests-expanded"><a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">(</tt><tt class="py-string">'_preferred_macs'</tt><tt class="py-op">,</tt> <tt class="py-string">'_mac_info'</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._set_key_types"></a><div id="SecurityOptions._set_key_types-def"><a name="L123"></a><tt class="py-lineno"> 123</tt> <a class="py-toggle" href="#" id="SecurityOptions._set_key_types-toggle" onclick="return toggle('SecurityOptions._set_key_types');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_set_key_types">_set_key_types</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._set_key_types-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._set_key_types-expanded"><a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">(</tt><tt class="py-string">'_preferred_keys'</tt><tt class="py-op">,</tt> <tt class="py-string">'_key_info'</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L125"></a><tt class="py-lineno"> 125</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._set_kex"></a><div id="SecurityOptions._set_kex-def"><a name="L126"></a><tt class="py-lineno"> 126</tt> <a class="py-toggle" href="#" id="SecurityOptions._set_kex-toggle" onclick="return toggle('SecurityOptions._set_kex');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_set_kex">_set_kex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._set_kex-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._set_kex-expanded"><a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">(</tt><tt class="py-string">'_preferred_kex'</tt><tt class="py-op">,</tt> <tt class="py-string">'_kex_info'</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"> </tt>
-<a name="SecurityOptions._set_compression"></a><div id="SecurityOptions._set_compression-def"><a name="L129"></a><tt class="py-lineno"> 129</tt> <a class="py-toggle" href="#" id="SecurityOptions._set_compression-toggle" onclick="return toggle('SecurityOptions._set_compression');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.SecurityOptions-class.html#_set_compression">_set_compression</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="SecurityOptions._set_compression-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SecurityOptions._set_compression-expanded"><a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_set</tt><tt class="py-op">(</tt><tt class="py-string">'_preferred_compression'</tt><tt class="py-op">,</tt> <tt class="py-string">'_compression_info'</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"> </tt>
-<a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"> <tt id="link-61" class="py-name" targets="Variable paramiko.SecurityOptions.ciphers=paramiko.SecurityOptions-class.html#ciphers"><a title="paramiko.SecurityOptions.ciphers" class="py-name" href="#" onclick="return doclink('link-61', 'ciphers', 'link-61');">ciphers</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-62" class="py-name" targets="Method paramiko.SecurityOptions._get_ciphers()=paramiko.SecurityOptions-class.html#_get_ciphers"><a title="paramiko.SecurityOptions._get_ciphers" class="py-name" href="#" onclick="return doclink('link-62', '_get_ciphers', 'link-62');">_get_ciphers</a></tt><tt class="py-op">,</tt> <tt id="link-63" class="py-name" targets="Method paramiko.SecurityOptions._set_ciphers()=paramiko.SecurityOptions-class.html#_set_ciphers"><a title="paramiko.SecurityOptions._set_ciphers" class="py-name" href="#" onclick="return doclink('link-63', '_set_ciphers', 'link-63');">_set_ciphers</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"> <tt class="py-string">"Symmetric encryption ciphers"</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"> <tt id="link-64" class="py-name" targets="Variable paramiko.SecurityOptions.digests=paramiko.SecurityOptions-class.html#digests"><a title="paramiko.SecurityOptions.digests" class="py-name" href="#" onclick="return doclink('link-64', 'digests', 'link-64');">digests</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-65" class="py-name" targets="Method paramiko.SecurityOptions._get_digests()=paramiko.SecurityOptions-class.html#_get_digests"><a title="paramiko.SecurityOptions._get_digests" class="py-name" href="#" onclick="return doclink('link-65', '_get_digests', 'link-65');">_get_digests</a></tt><tt class="py-op">,</tt> <tt id="link-66" class="py-name" targets="Method paramiko.SecurityOptions._set_digests()=paramiko.SecurityOptions-class.html#_set_digests"><a title="paramiko.SecurityOptions._set_digests" class="py-name" href="#" onclick="return doclink('link-66', '_set_digests', 'link-66');">_set_digests</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"> <tt class="py-string">"Digest (one-way hash) algorithms"</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"> <tt id="link-67" class="py-name" targets="Variable paramiko.SecurityOptions.key_types=paramiko.SecurityOptions-class.html#key_types"><a title="paramiko.SecurityOptions.key_types" class="py-name" href="#" onclick="return doclink('link-67', 'key_types', 'link-67');">key_types</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-68" class="py-name" targets="Method paramiko.SecurityOptions._get_key_types()=paramiko.SecurityOptions-class.html#_get_key_types"><a title="paramiko.SecurityOptions._get_key_types" class="py-name" href="#" onclick="return doclink('link-68', '_get_key_types', 'link-68');">_get_key_types</a></tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name" targets="Method paramiko.SecurityOptions._set_key_types()=paramiko.SecurityOptions-class.html#_set_key_types"><a title="paramiko.SecurityOptions._set_key_types" class="py-name" href="#" onclick="return doclink('link-69', '_set_key_types', 'link-69');">_set_key_types</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"> <tt class="py-string">"Public-key algorithms"</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"> <tt id="link-70" class="py-name" targets="Variable paramiko.SecurityOptions.kex=paramiko.SecurityOptions-class.html#kex"><a title="paramiko.SecurityOptions.kex" class="py-name" href="#" onclick="return doclink('link-70', 'kex', 'link-70');">kex</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-71" class="py-name" targets="Method paramiko.SecurityOptions._get_kex()=paramiko.SecurityOptions-class.html#_get_kex"><a title="paramiko.SecurityOptions._get_kex" class="py-name" href="#" onclick="return doclink('link-71', '_get_kex', 'link-71');">_get_kex</a></tt><tt class="py-op">,</tt> <tt id="link-72" class="py-name" targets="Method paramiko.SecurityOptions._set_kex()=paramiko.SecurityOptions-class.html#_set_kex"><a title="paramiko.SecurityOptions._set_kex" class="py-name" href="#" onclick="return doclink('link-72', '_set_kex', 'link-72');">_set_kex</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"Key exchange algorithms"</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"> <tt id="link-73" class="py-name" targets="Variable paramiko.SecurityOptions.compression=paramiko.SecurityOptions-class.html#compression"><a title="paramiko.SecurityOptions.compression" class="py-name" href="#" onclick="return doclink('link-73', 'compression', 'link-73');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-74" class="py-name" targets="Method paramiko.SecurityOptions._get_compression()=paramiko.SecurityOptions-class.html#_get_compression"><a title="paramiko.SecurityOptions._get_compression" class="py-name" href="#" onclick="return doclink('link-74', '_get_compression', 'link-74');">_get_compression</a></tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name" targets="Method paramiko.SecurityOptions._set_compression()=paramiko.SecurityOptions-class.html#_set_compression"><a title="paramiko.SecurityOptions._set_compression" class="py-name" href="#" onclick="return doclink('link-75', '_set_compression', 'link-75');">_set_compression</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"> <tt class="py-string">"Compression algorithms"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"> </tt>
-<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"> </tt>
-<a name="ChannelMap"></a><div id="ChannelMap-def"><a name="L143"></a><tt class="py-lineno"> 143</tt> <a class="py-toggle" href="#" id="ChannelMap-toggle" onclick="return toggle('ChannelMap');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html">ChannelMap</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ChannelMap-expanded"><a name="ChannelMap.__init__"></a><div id="ChannelMap.__init__-def"><a name="L144"></a><tt class="py-lineno"> 144</tt> <a class="py-toggle" href="#" id="ChannelMap.__init__-toggle" onclick="return toggle('ChannelMap.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelMap.__init__-expanded"><a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"> <tt class="py-comment"># (id -&gt; Channel)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_map</tt> <tt class="py-op">=</tt> <tt class="py-name">weakref</tt><tt class="py-op">.</tt><tt class="py-name">WeakValueDictionary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L148"></a><tt class="py-lineno"> 148</tt> <tt class="py-line"> </tt>
-<a name="ChannelMap.put"></a><div id="ChannelMap.put-def"><a name="L149"></a><tt class="py-lineno"> 149</tt> <a class="py-toggle" href="#" id="ChannelMap.put-toggle" onclick="return toggle('ChannelMap.put');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html#put">put</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">,</tt> <tt class="py-param">chan</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap.put-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelMap.put-expanded"><a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_map</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">chan</tt> </tt>
-<a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"> </tt>
-<a name="ChannelMap.get"></a><div id="ChannelMap.get-def"><a name="L156"></a><tt class="py-lineno"> 156</tt> <a class="py-toggle" href="#" id="ChannelMap.get-toggle" onclick="return toggle('ChannelMap.get');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap.get-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelMap.get-expanded"><a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_map</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name" targets="Method paramiko.SFTPClient.get()=paramiko.SFTPClient-class.html#get,Method paramiko.transport.ChannelMap.get()=paramiko.transport.ChannelMap-class.html#get"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-76', 'get', 'link-76');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"> </tt>
-<a name="ChannelMap.delete"></a><div id="ChannelMap.delete-def"><a name="L163"></a><tt class="py-lineno"> 163</tt> <a class="py-toggle" href="#" id="ChannelMap.delete-toggle" onclick="return toggle('ChannelMap.delete');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html#delete">delete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap.delete-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelMap.delete-expanded"><a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_map</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt> </tt>
-<a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"> </tt>
-<a name="ChannelMap.values"></a><div id="ChannelMap.values-def"><a name="L173"></a><tt class="py-lineno"> 173</tt> <a class="py-toggle" href="#" id="ChannelMap.values-toggle" onclick="return toggle('ChannelMap.values');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html#values">values</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap.values-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelMap.values-expanded"><a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_map</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Method paramiko.HostKeys.values()=paramiko.HostKeys-class.html#values,Method paramiko.transport.ChannelMap.values()=paramiko.transport.ChannelMap-class.html#values"><a title="paramiko.HostKeys.values
-paramiko.transport.ChannelMap.values" class="py-name" href="#" onclick="return doclink('link-77', 'values', 'link-77');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno"> 177</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"> </tt>
-<a name="ChannelMap.__len__"></a><div id="ChannelMap.__len__-def"><a name="L180"></a><tt class="py-lineno"> 180</tt> <a class="py-toggle" href="#" id="ChannelMap.__len__-toggle" onclick="return toggle('ChannelMap.__len__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.ChannelMap-class.html#__len__">__len__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ChannelMap.__len__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ChannelMap.__len__-expanded"><a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_map</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"> </tt>
-<a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"> </tt>
-<a name="Transport"></a><div id="Transport-def"><a name="L188"></a><tt class="py-lineno"> 188</tt> <a class="py-toggle" href="#" id="Transport-toggle" onclick="return toggle('Transport');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html">Transport</a> <tt class="py-op">(</tt><tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Transport-expanded"><a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"><tt class="py-docstring"> An SSH Transport attaches to a stream (usually a socket), negotiates an</tt> </tt>
-<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"><tt class="py-docstring"> encrypted session, authenticates, and then creates stream tunnels, called</tt> </tt>
-<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel}s, across the session. Multiple channels can be multiplexed</tt> </tt>
-<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"><tt class="py-docstring"> across a single session (and often are, in the case of port forwardings).</tt> </tt>
-<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"> </tt>
-<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"> <tt id="link-78" class="py-name" targets="Variable paramiko.Transport._PROTO_ID=paramiko.Transport-class.html#_PROTO_ID"><a title="paramiko.Transport._PROTO_ID" class="py-name" href="#" onclick="return doclink('link-78', '_PROTO_ID', 'link-78');">_PROTO_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'2.0'</tt> </tt>
-<a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"> <tt id="link-79" class="py-name" targets="Variable paramiko.Transport._CLIENT_ID=paramiko.Transport-class.html#_CLIENT_ID"><a title="paramiko.Transport._CLIENT_ID" class="py-name" href="#" onclick="return doclink('link-79', '_CLIENT_ID', 'link-79');">_CLIENT_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'paramiko_1.7.7.1'</tt> </tt>
-<a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"> </tt>
-<a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-80', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'aes128-ctr'</tt><tt class="py-op">,</tt> <tt class="py-string">'aes256-ctr'</tt><tt class="py-op">,</tt> <tt class="py-string">'aes128-cbc'</tt><tt class="py-op">,</tt> <tt class="py-string">'blowfish-cbc'</tt><tt class="py-op">,</tt> <tt class="py-string">'aes256-cbc'</tt><tt class="py-op">,</tt> <tt class="py-string">'3des-cbc'</tt><tt class="py-op">,</tt> </tt>
-<a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"> <tt class="py-string">'arcfour128'</tt><tt class="py-op">,</tt> <tt class="py-string">'arcfour256'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L201"></a><tt class="py-lineno"> 201</tt> <tt class="py-line"> <tt id="link-81" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-81', '_preferred_macs', 'link-54');">_preferred_macs</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'hmac-sha1'</tt><tt class="py-op">,</tt> <tt class="py-string">'hmac-md5'</tt><tt class="py-op">,</tt> <tt class="py-string">'hmac-sha1-96'</tt><tt class="py-op">,</tt> <tt class="py-string">'hmac-md5-96'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"> <tt id="link-82" class="py-name"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-82', '_preferred_keys', 'link-55');">_preferred_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'ssh-rsa'</tt><tt class="py-op">,</tt> <tt class="py-string">'ssh-dss'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"> <tt id="link-83" class="py-name"><a title="paramiko.Transport._preferred_kex" class="py-name" href="#" onclick="return doclink('link-83', '_preferred_kex', 'link-56');">_preferred_kex</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'diffie-hellman-group1-sha1'</tt><tt class="py-op">,</tt> <tt class="py-string">'diffie-hellman-group-exchange-sha1'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"> <tt id="link-84" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-84', '_preferred_compression', 'link-57');">_preferred_compression</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'none'</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"> </tt>
-<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"> <tt id="link-85" class="py-name" targets="Variable paramiko.Transport._cipher_info=paramiko.Transport-class.html#_cipher_info"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-85', '_cipher_info', 'link-85');">_cipher_info</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"> <tt class="py-string">'aes128-ctr'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CTR</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"> <tt class="py-string">'aes256-ctr'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CTR</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">32</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"> <tt class="py-string">'blowfish-cbc'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">Blowfish</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">Blowfish</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CBC</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"> <tt class="py-string">'aes128-cbc'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CBC</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"> <tt class="py-string">'aes256-cbc'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">AES</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CBC</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">32</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-string">'3des-cbc'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">DES3</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">DES3</tt><tt class="py-op">.</tt><tt class="py-name">MODE_CBC</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">24</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"> <tt class="py-string">'arcfour128'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">ARC4</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L214"></a><tt class="py-lineno"> 214</tt> <tt class="py-line"> <tt class="py-string">'arcfour256'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">ARC4</tt><tt class="py-op">,</tt> <tt class="py-string">'mode'</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'block-size'</tt><tt class="py-op">:</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'key-size'</tt><tt class="py-op">:</tt> <tt class="py-number">32</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"> </tt>
-<a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"> <tt id="link-86" class="py-name" targets="Variable paramiko.Transport._mac_info=paramiko.Transport-class.html#_mac_info"><a title="paramiko.Transport._mac_info" class="py-name" href="#" onclick="return doclink('link-86', '_mac_info', 'link-86');">_mac_info</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"> <tt class="py-string">'hmac-sha1'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">SHA</tt><tt class="py-op">,</tt> <tt class="py-string">'size'</tt><tt class="py-op">:</tt> <tt class="py-number">20</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L219"></a><tt class="py-lineno"> 219</tt> <tt class="py-line"> <tt class="py-string">'hmac-sha1-96'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">SHA</tt><tt class="py-op">,</tt> <tt class="py-string">'size'</tt><tt class="py-op">:</tt> <tt class="py-number">12</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt class="py-string">'hmac-md5'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">MD5</tt><tt class="py-op">,</tt> <tt class="py-string">'size'</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"> <tt class="py-string">'hmac-md5-96'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">MD5</tt><tt class="py-op">,</tt> <tt class="py-string">'size'</tt><tt class="py-op">:</tt> <tt class="py-number">12</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L222"></a><tt class="py-lineno"> 222</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"> </tt>
-<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"> <tt id="link-87" class="py-name" targets="Variable paramiko.Transport._key_info=paramiko.Transport-class.html#_key_info"><a title="paramiko.Transport._key_info" class="py-name" href="#" onclick="return doclink('link-87', '_key_info', 'link-87');">_key_info</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L225"></a><tt class="py-lineno"> 225</tt> <tt class="py-line"> <tt class="py-string">'ssh-rsa'</tt><tt class="py-op">:</tt> <tt id="link-88" class="py-name"><a title="paramiko.RSAKey" class="py-name" href="#" onclick="return doclink('link-88', 'RSAKey', 'link-33');">RSAKey</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"> <tt class="py-string">'ssh-dss'</tt><tt class="py-op">:</tt> <tt id="link-89" class="py-name"><a title="paramiko.DSSKey" class="py-name" href="#" onclick="return doclink('link-89', 'DSSKey', 'link-15');">DSSKey</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"> </tt>
-<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"> <tt id="link-90" class="py-name" targets="Variable paramiko.Transport._kex_info=paramiko.Transport-class.html#_kex_info"><a title="paramiko.Transport._kex_info" class="py-name" href="#" onclick="return doclink('link-90', '_kex_info', 'link-90');">_kex_info</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-string">'diffie-hellman-group1-sha1'</tt><tt class="py-op">:</tt> <tt id="link-91" class="py-name"><a title="paramiko.kex_group1.KexGroup1" class="py-name" href="#" onclick="return doclink('link-91', 'KexGroup1', 'link-21');">KexGroup1</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> <tt class="py-string">'diffie-hellman-group-exchange-sha1'</tt><tt class="py-op">:</tt> <tt id="link-92" class="py-name"><a title="paramiko.kex_gex.KexGex" class="py-name" href="#" onclick="return doclink('link-92', 'KexGex', 'link-18');">KexGex</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L232"></a><tt class="py-lineno"> 232</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"> </tt>
-<a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"> <tt id="link-93" class="py-name" targets="Variable paramiko.Transport._compression_info=paramiko.Transport-class.html#_compression_info"><a title="paramiko.Transport._compression_info" class="py-name" href="#" onclick="return doclink('link-93', '_compression_info', 'link-93');">_compression_info</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"> <tt class="py-comment"># zlib@openssh.com is just zlib, but only turned on after a successful</tt> </tt>
-<a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"> <tt class="py-comment"># authentication. openssh servers may only offer this type because</tt> </tt>
-<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"> <tt class="py-comment"># they've had troubles with security holes in zlib in the past.</tt> </tt>
-<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"> <tt class="py-string">'zlib@openssh.com'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt> <tt id="link-94" class="py-name"><a title="paramiko.compress.ZlibCompressor" class="py-name" href="#" onclick="return doclink('link-94', 'ZlibCompressor', 'link-11');">ZlibCompressor</a></tt><tt class="py-op">,</tt> <tt id="link-95" class="py-name"><a title="paramiko.compress.ZlibDecompressor" class="py-name" href="#" onclick="return doclink('link-95', 'ZlibDecompressor', 'link-12');">ZlibDecompressor</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"> <tt class="py-string">'zlib'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt> <tt id="link-96" class="py-name"><a title="paramiko.compress.ZlibCompressor" class="py-name" href="#" onclick="return doclink('link-96', 'ZlibCompressor', 'link-11');">ZlibCompressor</a></tt><tt class="py-op">,</tt> <tt id="link-97" class="py-name"><a title="paramiko.compress.ZlibDecompressor" class="py-name" href="#" onclick="return doclink('link-97', 'ZlibDecompressor', 'link-12');">ZlibDecompressor</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"> <tt class="py-string">'none'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L242"></a><tt class="py-lineno"> 242</tt> <tt class="py-line"> </tt>
-<a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> </tt>
-<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"> <tt id="link-98" class="py-name" targets="Variable paramiko.Transport._modulus_pack=paramiko.Transport-class.html#_modulus_pack"><a title="paramiko.Transport._modulus_pack" class="py-name" href="#" onclick="return doclink('link-98', '_modulus_pack', 'link-98');">_modulus_pack</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"> </tt>
-<a name="Transport.__init__"></a><div id="Transport.__init__-def"><a name="L246"></a><tt class="py-lineno"> 246</tt> <a class="py-toggle" href="#" id="Transport.__init__-toggle" onclick="return toggle('Transport.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.__init__-expanded"><a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"><tt class="py-docstring"> Create a new SSH session over an existing socket, or socket-like</tt> </tt>
-<a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"><tt class="py-docstring"> object. This only creates the Transport object; it doesn't begin the</tt> </tt>
-<a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"><tt class="py-docstring"> SSH session yet. Use L{connect} or L{start_client} to begin a client</tt> </tt>
-<a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"><tt class="py-docstring"> session, or L{start_server} to begin a server session.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"><tt class="py-docstring"> If the object is not actually a socket, it must have the following</tt> </tt>
-<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"><tt class="py-docstring"> methods:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"><tt class="py-docstring"> - C{send(str)}: Writes from 1 to C{len(str)} bytes, and</tt> </tt>
-<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"><tt class="py-docstring"> returns an int representing the number of bytes written. Returns</tt> </tt>
-<a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"><tt class="py-docstring"> 0 or raises C{EOFError} if the stream has been closed.</tt> </tt>
-<a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"><tt class="py-docstring"> - C{recv(int)}: Reads from 1 to C{int} bytes and returns them as a</tt> </tt>
-<a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"><tt class="py-docstring"> string. Returns 0 or raises C{EOFError} if the stream has been</tt> </tt>
-<a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"><tt class="py-docstring"> closed.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"><tt class="py-docstring"> - C{close()}: Closes the socket.</tt> </tt>
-<a name="L262"></a><tt class="py-lineno"> 262</tt> <tt class="py-line"><tt class="py-docstring"> - C{settimeout(n)}: Sets a (float) timeout on I/O operations.</tt> </tt>
-<a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"><tt class="py-docstring"> For ease of use, you may also pass in an address (as a tuple) or a host</tt> </tt>
-<a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"><tt class="py-docstring"> string as the C{sock} argument. (A host string is a hostname with an</tt> </tt>
-<a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"><tt class="py-docstring"> optional port (separated by C{":"}) which will be converted into a</tt> </tt>
-<a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"><tt class="py-docstring"> tuple of C{(hostname, port)}.) A socket will be connected to this</tt> </tt>
-<a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"><tt class="py-docstring"> address and used for communication. Exceptions from the C{socket} call</tt> </tt>
-<a name="L269"></a><tt class="py-lineno"> 269</tt> <tt class="py-line"><tt class="py-docstring"> may be thrown in this case.</tt> </tt>
-<a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L271"></a><tt class="py-lineno"> 271</tt> <tt class="py-line"><tt class="py-docstring"> @param sock: a socket or socket-like object to create the session over.</tt> </tt>
-<a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"><tt class="py-docstring"> @type sock: socket</tt> </tt>
-<a name="L273"></a><tt class="py-lineno"> 273</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L274"></a><tt class="py-lineno"> 274</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">sock</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"> <tt class="py-comment"># convert "host:port" into (host, port)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno"> 276</tt> <tt class="py-line"> <tt class="py-name">hl</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">hl</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"> <tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">hl</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">22</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno"> 280</tt> <tt class="py-line"> <tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">hl</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">hl</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">sock</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">:</tt> </tt>
-<a name="L282"></a><tt class="py-lineno"> 282</tt> <tt class="py-line"> <tt class="py-comment"># connect to the given (host, port)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"> <tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt> </tt>
-<a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-string">'No suitable address family'</tt> </tt>
-<a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">family</tt><tt class="py-op">,</tt> <tt class="py-name">socktype</tt><tt class="py-op">,</tt> <tt class="py-name">proto</tt><tt class="py-op">,</tt> <tt class="py-name">canonname</tt><tt class="py-op">,</tt> <tt class="py-name">sockaddr</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">getaddrinfo</tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">AF_UNSPEC</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">socktype</tt> <tt class="py-op">==</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">:</tt> </tt>
-<a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"> <tt class="py-name">af</tt> <tt class="py-op">=</tt> <tt class="py-name">family</tt> </tt>
-<a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"> <tt class="py-name">addr</tt> <tt class="py-op">=</tt> <tt class="py-name">sockaddr</tt> </tt>
-<a name="L289"></a><tt class="py-lineno"> 289</tt> <tt class="py-line"> <tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">socket</tt><tt class="py-op">(</tt><tt class="py-name">af</tt><tt class="py-op">,</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">SOCK_STREAM</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno"> 290</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L291"></a><tt class="py-lineno"> 291</tt> <tt class="py-line"> <tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name" targets="Method paramiko.SSHClient.connect()=paramiko.SSHClient-class.html#connect,Method paramiko.Transport.connect()=paramiko.Transport-class.html#connect"><a title="paramiko.SSHClient.connect
-paramiko.Transport.connect" class="py-name" href="#" onclick="return doclink('link-99', 'connect', 'link-99');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno"> 294</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L295"></a><tt class="py-lineno"> 295</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno"> 297</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-100" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-100', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L298"></a><tt class="py-lineno"> 298</tt> <tt class="py-line"> <tt class="py-string">'Unable to connect to %s: %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">,</tt> <tt class="py-name">reason</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L299"></a><tt class="py-lineno"> 299</tt> <tt class="py-line"> <tt class="py-comment"># okay, normal socket-ish flow here...</tt> </tt>
-<a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name" targets="Method paramiko.Agent.__init__()=paramiko.Agent-class.html#__init__,Method paramiko.AgentKey.__init__()=paramiko.AgentKey-class.html#__init__,Method paramiko.BadAuthenticationType.__init__()=paramiko.BadAuthenticationType-class.html#__init__,Method paramiko.BadHostKeyException.__init__()=paramiko.BadHostKeyException-class.html#__init__,Method paramiko.BufferedFile.__init__()=paramiko.BufferedFile-class.html#__init__,Method paramiko.Channel.__init__()=paramiko.Channel-class.html#__init__,Method paramiko.ChannelException.__init__()=paramiko.ChannelException-class.html#__init__,Method paramiko.DSSKey.__init__()=paramiko.DSSKey-class.html#__init__,Method paramiko.HostKeys.__init__()=paramiko.HostKeys-class.html#__init__,Method paramiko.Message.__init__()=paramiko.Message-class.html#__init__,Method paramiko.PKey.__init__()=paramiko.PKey-class.html#__init__,Method paramiko.RSAKey.__init__()=paramiko.RSAKey-class.html#__init__,Method paramiko.SFTPAttributes.__init__()=paramiko.SFTPAttributes-class.html#__init__,Method paramiko.SFTPClient.__init__()=paramiko.SFTPClient-class.html#__init__,Method paramiko.SFTPFile.__init__()=paramiko.SFTPFile-class.html#__init__,Method paramiko.SFTPHandle.__init__()=paramiko.SFTPHandle-class.html#__init__,Method paramiko.SFTPServer.__init__()=paramiko.SFTPServer-class.html#__init__,Method paramiko.SFTPServerInterface.__init__()=paramiko.SFTPServerInterface-class.html#__init__,Method paramiko.SSHClient.__init__()=paramiko.SSHClient-class.html#__init__,Method paramiko.SSHConfig.__init__()=paramiko.SSHConfig-class.html#__init__,Method paramiko.SecurityOptions.__init__()=paramiko.SecurityOptions-class.html#__init__,Method paramiko.SubsystemHandler.__init__()=paramiko.SubsystemHandler-class.html#__init__,Method paramiko.Transport.__init__()=paramiko.Transport-class.html#__init__,Method paramiko.ber.BER.__init__()=paramiko.ber.BER-class.html#__init__,Method paramiko.buffered_pipe.BufferedPipe.__init__()=paramiko.buffered_pipe.BufferedPipe-class.html#__init__,Method paramiko.channel.ChannelStderrFile.__init__()=paramiko.channel.ChannelStderrFile-class.html#__init__,Method paramiko.compress.ZlibCompressor.__init__()=paramiko.compress.ZlibCompressor-class.html#__init__,Method paramiko.compress.ZlibDecompressor.__init__()=paramiko.compress.ZlibDecompressor-class.html#__init__,Method paramiko.hostkeys.HostKeyEntry.__init__()=paramiko.hostkeys.HostKeyEntry-class.html#__init__,Method paramiko.kex_gex.KexGex.__init__()=paramiko.kex_gex.KexGex-class.html#__init__,Method paramiko.kex_group1.KexGroup1.__init__()=paramiko.kex_group1.KexGroup1-class.html#__init__,Method paramiko.logging22.Formatter.__init__()=paramiko.logging22.Formatter-class.html#__init__,Method paramiko.logging22.StreamHandler.__init__()=paramiko.logging22.StreamHandler-class.html#__init__,Method paramiko.logging22.logger.__init__()=paramiko.logging22.logger-class.html#__init__,Method paramiko.pipe.OrPipe.__init__()=paramiko.pipe.OrPipe-class.html#__init__,Method paramiko.pipe.PosixPipe.__init__()=paramiko.pipe.PosixPipe-class.html#__init__,Method paramiko.pipe.WindowsPipe.__init__()=paramiko.pipe.WindowsPipe-class.html#__init__,Method paramiko.primes.ModulusPack.__init__()=paramiko.primes.ModulusPack-class.html#__init__,Method paramiko.ssh_exception.PartialAuthentication.__init__()=paramiko.ssh_exception.PartialAuthentication-class.html#__init__,Method paramiko.transport.ChannelMap.__init__()=paramiko.transport.ChannelMap-class.html#__init__,Method paramiko.util.Counter.__init__()=paramiko.util.Counter-class.html#__init__,Method paramiko.util.enumerate.__init__()=paramiko.util.enumerate-class.html#__init__,Method paramiko.win_pageant.PageantConnection.__init__()=paramiko.win_pageant.PageantConnection-class.html#__init__"><a title="paramiko.Agent.__init__
-paramiko.AgentKey.__init__
-paramiko.BadAuthenticationType.__init__
-paramiko.BadHostKeyException.__init__
-paramiko.BufferedFile.__init__
-paramiko.Channel.__init__
-paramiko.ChannelException.__init__
-paramiko.DSSKey.__init__
-paramiko.HostKeys.__init__
-paramiko.Message.__init__
-paramiko.PKey.__init__
-paramiko.RSAKey.__init__
-paramiko.SFTPAttributes.__init__
-paramiko.SFTPClient.__init__
-paramiko.SFTPFile.__init__
-paramiko.SFTPHandle.__init__
-paramiko.SFTPServer.__init__
-paramiko.SFTPServerInterface.__init__
-paramiko.SSHClient.__init__
-paramiko.SSHConfig.__init__
-paramiko.SecurityOptions.__init__
-paramiko.SubsystemHandler.__init__
-paramiko.Transport.__init__
-paramiko.ber.BER.__init__
-paramiko.buffered_pipe.BufferedPipe.__init__
-paramiko.channel.ChannelStderrFile.__init__
-paramiko.compress.ZlibCompressor.__init__
-paramiko.compress.ZlibDecompressor.__init__
-paramiko.hostkeys.HostKeyEntry.__init__
-paramiko.kex_gex.KexGex.__init__
-paramiko.kex_group1.KexGroup1.__init__
-paramiko.logging22.Formatter.__init__
-paramiko.logging22.StreamHandler.__init__
-paramiko.logging22.logger.__init__
-paramiko.pipe.OrPipe.__init__
-paramiko.pipe.PosixPipe.__init__
-paramiko.pipe.WindowsPipe.__init__
-paramiko.primes.ModulusPack.__init__
-paramiko.ssh_exception.PartialAuthentication.__init__
-paramiko.transport.ChannelMap.__init__
-paramiko.util.Counter.__init__
-paramiko.util.enumerate.__init__
-paramiko.win_pageant.PageantConnection.__init__" class="py-name" href="#" onclick="return doclink('link-101', '__init__', 'link-101');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">setDaemon</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Variable paramiko.auth_handler.rng=paramiko.auth_handler-module.html#rng,Variable paramiko.channel.rng=paramiko.channel-module.html#rng,Variable paramiko.client.rng=paramiko.client-module.html#rng,Variable paramiko.common.rng=paramiko.common-module.html#rng,Variable paramiko.dsskey.rng=paramiko.dsskey-module.html#rng,Variable paramiko.hostkeys.rng=paramiko.hostkeys-module.html#rng,Variable paramiko.kex_gex.rng=paramiko.kex_gex-module.html#rng,Variable paramiko.kex_group1.rng=paramiko.kex_group1-module.html#rng,Variable paramiko.packet.rng=paramiko.packet-module.html#rng,Variable paramiko.pkey.rng=paramiko.pkey-module.html#rng,Variable paramiko.rsakey.rng=paramiko.rsakey-module.html#rng,Variable paramiko.server.rng=paramiko.server-module.html#rng,Variable paramiko.sftp.rng=paramiko.sftp-module.html#rng,Variable paramiko.sftp_attr.rng=paramiko.sftp_attr-module.html#rng,Variable paramiko.sftp_client.rng=paramiko.sftp_client-module.html#rng,Variable paramiko.sftp_file.rng=paramiko.sftp_file-module.html#rng,Variable paramiko.sftp_handle.rng=paramiko.sftp_handle-module.html#rng,Variable paramiko.sftp_server.rng=paramiko.sftp_server-module.html#rng,Variable paramiko.sftp_si.rng=paramiko.sftp_si-module.html#rng,Variable paramiko.transport.rng=paramiko.transport-module.html#rng,Variable paramiko.util.rng=paramiko.util-module.html#rng"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-102', 'rng', 'link-102');">rng</a></tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-103', 'rng', 'link-102');">rng</a></tt> </tt>
-<a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt> <tt class="py-op">=</tt> <tt class="py-name">sock</tt> </tt>
-<a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"> <tt class="py-comment"># Python &lt; 2.3 doesn't have the settimeout method - RogerB</tt> </tt>
-<a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"> <tt class="py-comment"># we set the timeout so we can check self.active periodically to</tt> </tt>
-<a name="L307"></a><tt class="py-lineno"> 307</tt> <tt class="py-line"> <tt class="py-comment"># see if we should bail. socket.timeout exception is never</tt> </tt>
-<a name="L308"></a><tt class="py-lineno"> 308</tt> <tt class="py-line"> <tt class="py-comment"># propagated.</tt> </tt>
-<a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method paramiko.Channel.settimeout()=paramiko.Channel-class.html#settimeout,Method paramiko.SFTPFile.settimeout()=paramiko.SFTPFile-class.html#settimeout"><a title="paramiko.Channel.settimeout
-paramiko.SFTPFile.settimeout" class="py-name" href="#" onclick="return doclink('link-104', 'settimeout', 'link-104');">settimeout</a></tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"> </tt>
-<a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"> <tt class="py-comment"># negotiated crypto parameters</tt> </tt>
-<a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt> <tt class="py-op">=</tt> <tt class="py-name">Packetizer</tt><tt class="py-op">(</tt><tt class="py-name">sock</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_version</tt> <tt class="py-op">=</tt> <tt class="py-string">'SSH-'</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="paramiko.Transport._PROTO_ID" class="py-name" href="#" onclick="return doclink('link-105', '_PROTO_ID', 'link-78');">_PROTO_ID</a></tt> <tt class="py-op">+</tt> <tt class="py-string">'-'</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="paramiko.Transport._CLIENT_ID" class="py-name" href="#" onclick="return doclink('link-106', '_CLIENT_ID', 'link-79');">_CLIENT_ID</a></tt> </tt>
-<a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_version</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L317"></a><tt class="py-lineno"> 317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_mac</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L321"></a><tt class="py-lineno"> 321</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key_type</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L324"></a><tt class="py-lineno"> 324</tt> <tt class="py-line"> </tt>
-<a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"> <tt class="py-comment"># state used during negotiation</tt> </tt>
-<a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kex_engine</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">H</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"> </tt>
-<a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L332"></a><tt class="py-lineno"> 332</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_kex</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expected_packet</tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno"> 335</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment"># synchronization (always higher level than write_lock)</tt> </tt>
-<a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"> </tt>
-<a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"> <tt class="py-comment"># tracking open channels</tt> </tt>
-<a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name" targets="Class paramiko.transport.ChannelMap=paramiko.transport.ChannelMap-class.html"><a title="paramiko.transport.ChannelMap" class="py-name" href="#" onclick="return doclink('link-107', 'ChannelMap', 'link-107');">ChannelMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno"> 339</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> <tt class="py-comment"># (id -&gt; Event)</tt> </tt>
-<a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channels_seen</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> <tt class="py-comment"># (id -&gt; True)</tt> </tt>
-<a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_size</tt> <tt class="py-op">=</tt> <tt class="py-number">65536</tt> </tt>
-<a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-number">34816</tt> </tt>
-<a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x11_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tcp_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"> </tt>
-<a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">30.0</tt> </tt>
-<a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_name</tt> <tt class="py-op">=</tt> <tt class="py-string">'paramiko.transport'</tt> </tt>
-<a name="L352"></a><tt class="py-lineno"> 352</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name" targets="Class paramiko.logging22.logger=paramiko.logging22.logger-class.html"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-108', 'logger', 'link-108');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-109', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Function paramiko.util.get_logger()=paramiko.util-module.html#get_logger"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-110', 'get_logger', 'link-110');">get_logger</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_log</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-111', 'logger', 'link-108');">logger</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-112', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">global_response</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> <tt class="py-comment"># response Message from an arbitrary global request</tt> </tt>
-<a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> <tt class="py-comment"># user-defined event callbacks</tt> </tt>
-<a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">banner_timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">15</tt> <tt class="py-comment"># how long (seconds) to wait for the SSH banner</tt> </tt>
-<a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"> </tt>
-<a name="L359"></a><tt class="py-lineno"> 359</tt> <tt class="py-line"> <tt class="py-comment"># server mode:</tt> </tt>
-<a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_key_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> </tt>
-<a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accepts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> </tt>
-<a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accept_cv</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Condition</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno"> 365</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsystem_table</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">}</tt> </tt>
-</div><a name="L366"></a><tt class="py-lineno"> 366</tt> <tt class="py-line"> </tt>
-<a name="Transport.__repr__"></a><div id="Transport.__repr__-def"><a name="L367"></a><tt class="py-lineno"> 367</tt> <a class="py-toggle" href="#" id="Transport.__repr__-toggle" onclick="return toggle('Transport.__repr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.__repr__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.__repr__-expanded"><a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L369"></a><tt class="py-lineno"> 369</tt> <tt class="py-line"><tt class="py-docstring"> Returns a string representation of this object, for debugging.</tt> </tt>
-<a name="L370"></a><tt class="py-lineno"> 370</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L371"></a><tt class="py-lineno"> 371</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;paramiko.Transport at %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffffffL</tt><tt class="py-op">)</tt> </tt>
-<a name="L374"></a><tt class="py-lineno"> 374</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (unconnected)'</tt> </tt>
-<a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt> <tt class="py-op">!=</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
-<a name="L378"></a><tt class="py-lineno"> 378</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (cipher %s, %d bits)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">,</tt> </tt>
-<a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-113', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'key-size'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
-<a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name" targets="Method paramiko.Transport.is_authenticated()=paramiko.Transport-class.html#is_authenticated"><a title="paramiko.Transport.is_authenticated" class="py-name" href="#" onclick="return doclink('link-114', 'is_authenticated', 'link-114');">is_authenticated</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (active; %d open channel(s))'</tt> <tt class="py-op">%</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">)</tt> </tt>
-<a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">:</tt> </tt>
-<a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (connected; awaiting auth)'</tt> </tt>
-<a name="L384"></a><tt class="py-lineno"> 384</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' (connecting)'</tt> </tt>
-<a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&gt;'</tt> </tt>
-<a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"> </tt>
-<a name="Transport.atfork"></a><div id="Transport.atfork-def"><a name="L389"></a><tt class="py-lineno"> 389</tt> <a class="py-toggle" href="#" id="Transport.atfork-toggle" onclick="return toggle('Transport.atfork');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#atfork">atfork</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.atfork-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.atfork-expanded"><a name="L390"></a><tt class="py-lineno"> 390</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"><tt class="py-docstring"> Terminate this Transport without closing the session. On posix</tt> </tt>
-<a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"><tt class="py-docstring"> systems, if a Transport is open during process forking, both parent</tt> </tt>
-<a name="L393"></a><tt class="py-lineno"> 393</tt> <tt class="py-line"><tt class="py-docstring"> and child will share the underlying socket, but only one process can</tt> </tt>
-<a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"><tt class="py-docstring"> use the connection (without corrupting the session). Use this method</tt> </tt>
-<a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"><tt class="py-docstring"> to clean up a Transport object without disrupting the other process.</tt> </tt>
-<a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L397"></a><tt class="py-lineno"> 397</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5.3</tt> </tt>
-<a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-115', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-116', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L401"></a><tt class="py-lineno"> 401</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_security_options"></a><div id="Transport.get_security_options-def"><a name="L402"></a><tt class="py-lineno"> 402</tt> <a class="py-toggle" href="#" id="Transport.get_security_options-toggle" onclick="return toggle('Transport.get_security_options');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_security_options">get_security_options</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_security_options-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_security_options-expanded"><a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L404"></a><tt class="py-lineno"> 404</tt> <tt class="py-line"><tt class="py-docstring"> Return a L{SecurityOptions} object which can be used to tweak the</tt> </tt>
-<a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"><tt class="py-docstring"> encryption algorithms this transport will permit, and the order of</tt> </tt>
-<a name="L406"></a><tt class="py-lineno"> 406</tt> <tt class="py-line"><tt class="py-docstring"> preference for them.</tt> </tt>
-<a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L408"></a><tt class="py-lineno"> 408</tt> <tt class="py-line"><tt class="py-docstring"> @return: an object that can be used to change the preferred algorithms</tt> </tt>
-<a name="L409"></a><tt class="py-lineno"> 409</tt> <tt class="py-line"><tt class="py-docstring"> for encryption, digest (hash), public key, and key exchange.</tt> </tt>
-<a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SecurityOptions}</tt> </tt>
-<a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L412"></a><tt class="py-lineno"> 412</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-117" class="py-name" targets="Class paramiko.SecurityOptions=paramiko.SecurityOptions-class.html"><a title="paramiko.SecurityOptions" class="py-name" href="#" onclick="return doclink('link-117', 'SecurityOptions', 'link-117');">SecurityOptions</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L413"></a><tt class="py-lineno"> 413</tt> <tt class="py-line"> </tt>
-<a name="Transport.start_client"></a><div id="Transport.start_client-def"><a name="L414"></a><tt class="py-lineno"> 414</tt> <a class="py-toggle" href="#" id="Transport.start_client-toggle" onclick="return toggle('Transport.start_client');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#start_client">start_client</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.start_client-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.start_client-expanded"><a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L416"></a><tt class="py-lineno"> 416</tt> <tt class="py-line"><tt class="py-docstring"> Negotiate a new SSH2 session as a client. This is the first step after</tt> </tt>
-<a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"><tt class="py-docstring"> creating a new L{Transport}. A separate thread is created for protocol</tt> </tt>
-<a name="L418"></a><tt class="py-lineno"> 418</tt> <tt class="py-line"><tt class="py-docstring"> negotiation.</tt> </tt>
-<a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"><tt class="py-docstring"> If an event is passed in, this method returns immediately. When</tt> </tt>
-<a name="L421"></a><tt class="py-lineno"> 421</tt> <tt class="py-line"><tt class="py-docstring"> negotiation is done (successful or not), the given C{Event} will</tt> </tt>
-<a name="L422"></a><tt class="py-lineno"> 422</tt> <tt class="py-line"><tt class="py-docstring"> be triggered. On failure, L{is_active} will return C{False}.</tt> </tt>
-<a name="L423"></a><tt class="py-lineno"> 423</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"><tt class="py-docstring"> (Since 1.4) If C{event} is C{None}, this method will not return until</tt> </tt>
-<a name="L425"></a><tt class="py-lineno"> 425</tt> <tt class="py-line"><tt class="py-docstring"> negotation is done. On success, the method returns normally.</tt> </tt>
-<a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"><tt class="py-docstring"> Otherwise an SSHException is raised.</tt> </tt>
-<a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"><tt class="py-docstring"> After a successful negotiation, you will usually want to authenticate,</tt> </tt>
-<a name="L429"></a><tt class="py-lineno"> 429</tt> <tt class="py-line"><tt class="py-docstring"> calling L{auth_password &lt;Transport.auth_password&gt;} or</tt> </tt>
-<a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"><tt class="py-docstring"> L{auth_publickey &lt;Transport.auth_publickey&gt;}.</tt> </tt>
-<a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L432"></a><tt class="py-lineno"> 432</tt> <tt class="py-line"><tt class="py-docstring"> @note: L{connect} is a simpler method for connecting as a client.</tt> </tt>
-<a name="L433"></a><tt class="py-lineno"> 433</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"><tt class="py-docstring"> @note: After calling this method (or L{start_server} or L{connect}),</tt> </tt>
-<a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"><tt class="py-docstring"> you should no longer directly read from or write to the original</tt> </tt>
-<a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"><tt class="py-docstring"> socket object.</tt> </tt>
-<a name="L437"></a><tt class="py-lineno"> 437</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L438"></a><tt class="py-lineno"> 438</tt> <tt class="py-line"><tt class="py-docstring"> @param event: an event to trigger when negotiation is complete</tt> </tt>
-<a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"><tt class="py-docstring"> (optional)</tt> </tt>
-<a name="L440"></a><tt class="py-lineno"> 440</tt> <tt class="py-line"><tt class="py-docstring"> @type event: threading.Event</tt> </tt>
-<a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if negotiation fails (and no C{event} was passed</tt> </tt>
-<a name="L443"></a><tt class="py-lineno"> 443</tt> <tt class="py-line"><tt class="py-docstring"> in)</tt> </tt>
-<a name="L444"></a><tt class="py-lineno"> 444</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"> <tt class="py-comment"># async, return immediately and let the app poll for completion</tt> </tt>
-<a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L450"></a><tt class="py-lineno"> 450</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"> </tt>
-<a name="L452"></a><tt class="py-lineno"> 452</tt> <tt class="py-line"> <tt class="py-comment"># synchronous, wait for a result</tt> </tt>
-<a name="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"> <tt class="py-name">Random</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method paramiko.Transport.atfork()=paramiko.Transport-class.html#atfork"><a title="paramiko.Transport.atfork" class="py-name" href="#" onclick="return doclink('link-118', 'atfork', 'link-118');">atfork</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method paramiko.Transport.get_exception()=paramiko.Transport-class.html#get_exception"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-119', 'get_exception', 'link-119');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-120" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-120', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Negotiation failed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-</div><a name="L465"></a><tt class="py-lineno"> 465</tt> <tt class="py-line"> </tt>
-<a name="Transport.start_server"></a><div id="Transport.start_server-def"><a name="L466"></a><tt class="py-lineno"> 466</tt> <a class="py-toggle" href="#" id="Transport.start_server-toggle" onclick="return toggle('Transport.start_server');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#start_server">start_server</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">server</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.start_server-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.start_server-expanded"><a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"><tt class="py-docstring"> Negotiate a new SSH2 session as a server. This is the first step after</tt> </tt>
-<a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"><tt class="py-docstring"> creating a new L{Transport} and setting up your server host key(s). A</tt> </tt>
-<a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"><tt class="py-docstring"> separate thread is created for protocol negotiation.</tt> </tt>
-<a name="L471"></a><tt class="py-lineno"> 471</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"><tt class="py-docstring"> If an event is passed in, this method returns immediately. When</tt> </tt>
-<a name="L473"></a><tt class="py-lineno"> 473</tt> <tt class="py-line"><tt class="py-docstring"> negotiation is done (successful or not), the given C{Event} will</tt> </tt>
-<a name="L474"></a><tt class="py-lineno"> 474</tt> <tt class="py-line"><tt class="py-docstring"> be triggered. On failure, L{is_active} will return C{False}.</tt> </tt>
-<a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L476"></a><tt class="py-lineno"> 476</tt> <tt class="py-line"><tt class="py-docstring"> (Since 1.4) If C{event} is C{None}, this method will not return until</tt> </tt>
-<a name="L477"></a><tt class="py-lineno"> 477</tt> <tt class="py-line"><tt class="py-docstring"> negotation is done. On success, the method returns normally.</tt> </tt>
-<a name="L478"></a><tt class="py-lineno"> 478</tt> <tt class="py-line"><tt class="py-docstring"> Otherwise an SSHException is raised.</tt> </tt>
-<a name="L479"></a><tt class="py-lineno"> 479</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L480"></a><tt class="py-lineno"> 480</tt> <tt class="py-line"><tt class="py-docstring"> After a successful negotiation, the client will need to authenticate.</tt> </tt>
-<a name="L481"></a><tt class="py-lineno"> 481</tt> <tt class="py-line"><tt class="py-docstring"> Override the methods</tt> </tt>
-<a name="L482"></a><tt class="py-lineno"> 482</tt> <tt class="py-line"><tt class="py-docstring"> L{get_allowed_auths &lt;ServerInterface.get_allowed_auths&gt;},</tt> </tt>
-<a name="L483"></a><tt class="py-lineno"> 483</tt> <tt class="py-line"><tt class="py-docstring"> L{check_auth_none &lt;ServerInterface.check_auth_none&gt;},</tt> </tt>
-<a name="L484"></a><tt class="py-lineno"> 484</tt> <tt class="py-line"><tt class="py-docstring"> L{check_auth_password &lt;ServerInterface.check_auth_password&gt;}, and</tt> </tt>
-<a name="L485"></a><tt class="py-lineno"> 485</tt> <tt class="py-line"><tt class="py-docstring"> L{check_auth_publickey &lt;ServerInterface.check_auth_publickey&gt;} in the</tt> </tt>
-<a name="L486"></a><tt class="py-lineno"> 486</tt> <tt class="py-line"><tt class="py-docstring"> given C{server} object to control the authentication process.</tt> </tt>
-<a name="L487"></a><tt class="py-lineno"> 487</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L488"></a><tt class="py-lineno"> 488</tt> <tt class="py-line"><tt class="py-docstring"> After a successful authentication, the client should request to open</tt> </tt>
-<a name="L489"></a><tt class="py-lineno"> 489</tt> <tt class="py-line"><tt class="py-docstring"> a channel. Override</tt> </tt>
-<a name="L490"></a><tt class="py-lineno"> 490</tt> <tt class="py-line"><tt class="py-docstring"> L{check_channel_request &lt;ServerInterface.check_channel_request&gt;} in the</tt> </tt>
-<a name="L491"></a><tt class="py-lineno"> 491</tt> <tt class="py-line"><tt class="py-docstring"> given C{server} object to allow channels to be opened.</tt> </tt>
-<a name="L492"></a><tt class="py-lineno"> 492</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L493"></a><tt class="py-lineno"> 493</tt> <tt class="py-line"><tt class="py-docstring"> @note: After calling this method (or L{start_client} or L{connect}),</tt> </tt>
-<a name="L494"></a><tt class="py-lineno"> 494</tt> <tt class="py-line"><tt class="py-docstring"> you should no longer directly read from or write to the original</tt> </tt>
-<a name="L495"></a><tt class="py-lineno"> 495</tt> <tt class="py-line"><tt class="py-docstring"> socket object.</tt> </tt>
-<a name="L496"></a><tt class="py-lineno"> 496</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L497"></a><tt class="py-lineno"> 497</tt> <tt class="py-line"><tt class="py-docstring"> @param event: an event to trigger when negotiation is complete.</tt> </tt>
-<a name="L498"></a><tt class="py-lineno"> 498</tt> <tt class="py-line"><tt class="py-docstring"> @type event: threading.Event</tt> </tt>
-<a name="L499"></a><tt class="py-lineno"> 499</tt> <tt class="py-line"><tt class="py-docstring"> @param server: an object used to perform authentication and create</tt> </tt>
-<a name="L500"></a><tt class="py-lineno"> 500</tt> <tt class="py-line"><tt class="py-docstring"> L{Channel}s.</tt> </tt>
-<a name="L501"></a><tt class="py-lineno"> 501</tt> <tt class="py-line"><tt class="py-docstring"> @type server: L{server.ServerInterface}</tt> </tt>
-<a name="L502"></a><tt class="py-lineno"> 502</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L503"></a><tt class="py-lineno"> 503</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if negotiation fails (and no C{event} was passed</tt> </tt>
-<a name="L504"></a><tt class="py-lineno"> 504</tt> <tt class="py-line"><tt class="py-docstring"> in)</tt> </tt>
-<a name="L505"></a><tt class="py-lineno"> 505</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L506"></a><tt class="py-lineno"> 506</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-121" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-121', 'server', 'link-35');">server</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L507"></a><tt class="py-lineno"> 507</tt> <tt class="py-line"> <tt id="link-122" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-122', 'server', 'link-35');">server</a></tt> <tt class="py-op">=</tt> <tt id="link-123" class="py-name"><a title="paramiko.ServerInterface" class="py-name" href="#" onclick="return doclink('link-123', 'ServerInterface', 'link-36');">ServerInterface</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L508"></a><tt class="py-lineno"> 508</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L509"></a><tt class="py-lineno"> 509</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt> <tt class="py-op">=</tt> <tt id="link-124" class="py-name"><a title="paramiko.server" class="py-name" href="#" onclick="return doclink('link-124', 'server', 'link-35');">server</a></tt> </tt>
-<a name="L510"></a><tt class="py-lineno"> 510</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L511"></a><tt class="py-lineno"> 511</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L512"></a><tt class="py-lineno"> 512</tt> <tt class="py-line"> <tt class="py-comment"># async, return immediately and let the app poll for completion</tt> </tt>
-<a name="L513"></a><tt class="py-lineno"> 513</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L514"></a><tt class="py-lineno"> 514</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L515"></a><tt class="py-lineno"> 515</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L516"></a><tt class="py-lineno"> 516</tt> <tt class="py-line"> </tt>
-<a name="L517"></a><tt class="py-lineno"> 517</tt> <tt class="py-line"> <tt class="py-comment"># synchronous, wait for a result</tt> </tt>
-<a name="L518"></a><tt class="py-lineno"> 518</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L519"></a><tt class="py-lineno"> 519</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L520"></a><tt class="py-lineno"> 520</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L521"></a><tt class="py-lineno"> 521</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L522"></a><tt class="py-lineno"> 522</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L523"></a><tt class="py-lineno"> 523</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-125', 'get_exception', 'link-119');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L524"></a><tt class="py-lineno"> 524</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L525"></a><tt class="py-lineno"> 525</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L526"></a><tt class="py-lineno"> 526</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-126" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-126', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Negotiation failed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L527"></a><tt class="py-lineno"> 527</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L528"></a><tt class="py-lineno"> 528</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-</div><a name="L529"></a><tt class="py-lineno"> 529</tt> <tt class="py-line"> </tt>
-<a name="Transport.add_server_key"></a><div id="Transport.add_server_key-def"><a name="L530"></a><tt class="py-lineno"> 530</tt> <a class="py-toggle" href="#" id="Transport.add_server_key-toggle" onclick="return toggle('Transport.add_server_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#add_server_key">add_server_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.add_server_key-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.add_server_key-expanded"><a name="L531"></a><tt class="py-lineno"> 531</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L532"></a><tt class="py-lineno"> 532</tt> <tt class="py-line"><tt class="py-docstring"> Add a host key to the list of keys used for server mode. When behaving</tt> </tt>
-<a name="L533"></a><tt class="py-lineno"> 533</tt> <tt class="py-line"><tt class="py-docstring"> as a server, the host key is used to sign certain packets during the</tt> </tt>
-<a name="L534"></a><tt class="py-lineno"> 534</tt> <tt class="py-line"><tt class="py-docstring"> SSH2 negotiation, so that the client can trust that we are who we say</tt> </tt>
-<a name="L535"></a><tt class="py-lineno"> 535</tt> <tt class="py-line"><tt class="py-docstring"> we are. Because this is used for signing, the key must contain private</tt> </tt>
-<a name="L536"></a><tt class="py-lineno"> 536</tt> <tt class="py-line"><tt class="py-docstring"> key info, not just the public half. Only one key of each type (RSA or</tt> </tt>
-<a name="L537"></a><tt class="py-lineno"> 537</tt> <tt class="py-line"><tt class="py-docstring"> DSS) is kept.</tt> </tt>
-<a name="L538"></a><tt class="py-lineno"> 538</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L539"></a><tt class="py-lineno"> 539</tt> <tt class="py-line"><tt class="py-docstring"> @param key: the host key to add, usually an L{RSAKey &lt;rsakey.RSAKey&gt;} or</tt> </tt>
-<a name="L540"></a><tt class="py-lineno"> 540</tt> <tt class="py-line"><tt class="py-docstring"> L{DSSKey &lt;dsskey.DSSKey&gt;}.</tt> </tt>
-<a name="L541"></a><tt class="py-lineno"> 541</tt> <tt class="py-line"><tt class="py-docstring"> @type key: L{PKey &lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L542"></a><tt class="py-lineno"> 542</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L543"></a><tt class="py-lineno"> 543</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_key_dict</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method paramiko.AgentKey.get_name()=paramiko.AgentKey-class.html#get_name,Method paramiko.Channel.get_name()=paramiko.Channel-class.html#get_name,Method paramiko.DSSKey.get_name()=paramiko.DSSKey-class.html#get_name,Method paramiko.PKey.get_name()=paramiko.PKey-class.html#get_name,Method paramiko.RSAKey.get_name()=paramiko.RSAKey-class.html#get_name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-127', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L544"></a><tt class="py-lineno"> 544</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_server_key"></a><div id="Transport.get_server_key-def"><a name="L545"></a><tt class="py-lineno"> 545</tt> <a class="py-toggle" href="#" id="Transport.get_server_key-toggle" onclick="return toggle('Transport.get_server_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_server_key">get_server_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_server_key-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_server_key-expanded"><a name="L546"></a><tt class="py-lineno"> 546</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L547"></a><tt class="py-lineno"> 547</tt> <tt class="py-line"><tt class="py-docstring"> Return the active host key, in server mode. After negotiating with the</tt> </tt>
-<a name="L548"></a><tt class="py-lineno"> 548</tt> <tt class="py-line"><tt class="py-docstring"> client, this method will return the negotiated host key. If only one</tt> </tt>
-<a name="L549"></a><tt class="py-lineno"> 549</tt> <tt class="py-line"><tt class="py-docstring"> type of host key was set with L{add_server_key}, that's the only key</tt> </tt>
-<a name="L550"></a><tt class="py-lineno"> 550</tt> <tt class="py-line"><tt class="py-docstring"> that will ever be returned. But in cases where you have set more than</tt> </tt>
-<a name="L551"></a><tt class="py-lineno"> 551</tt> <tt class="py-line"><tt class="py-docstring"> one type of host key (for example, an RSA key and a DSS key), the key</tt> </tt>
-<a name="L552"></a><tt class="py-lineno"> 552</tt> <tt class="py-line"><tt class="py-docstring"> type will be negotiated by the client, and this method will return the</tt> </tt>
-<a name="L553"></a><tt class="py-lineno"> 553</tt> <tt class="py-line"><tt class="py-docstring"> key of the type agreed on. If the host key has not been negotiated</tt> </tt>
-<a name="L554"></a><tt class="py-lineno"> 554</tt> <tt class="py-line"><tt class="py-docstring"> yet, C{None} is returned. In client mode, the behavior is undefined.</tt> </tt>
-<a name="L555"></a><tt class="py-lineno"> 555</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L556"></a><tt class="py-lineno"> 556</tt> <tt class="py-line"><tt class="py-docstring"> @return: host key of the type negotiated by the client, or C{None}.</tt> </tt>
-<a name="L557"></a><tt class="py-lineno"> 557</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{PKey &lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L558"></a><tt class="py-lineno"> 558</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L559"></a><tt class="py-lineno"> 559</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L560"></a><tt class="py-lineno"> 560</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_key_dict</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key_type</tt><tt class="py-op">]</tt> </tt>
-<a name="L561"></a><tt class="py-lineno"> 561</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L562"></a><tt class="py-lineno"> 562</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L564"></a><tt class="py-lineno"> 564</tt> <tt class="py-line"> </tt>
-<a name="Transport.load_server_moduli"></a><div id="Transport.load_server_moduli-def"><a name="L565"></a><tt class="py-lineno"> 565</tt> <a class="py-toggle" href="#" id="Transport.load_server_moduli-toggle" onclick="return toggle('Transport.load_server_moduli');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#load_server_moduli">load_server_moduli</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.load_server_moduli-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.load_server_moduli-expanded"><a name="L566"></a><tt class="py-lineno"> 566</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L567"></a><tt class="py-lineno"> 567</tt> <tt class="py-line"><tt class="py-docstring"> I{(optional)}</tt> </tt>
-<a name="L568"></a><tt class="py-lineno"> 568</tt> <tt class="py-line"><tt class="py-docstring"> Load a file of prime moduli for use in doing group-exchange key</tt> </tt>
-<a name="L569"></a><tt class="py-lineno"> 569</tt> <tt class="py-line"><tt class="py-docstring"> negotiation in server mode. It's a rather obscure option and can be</tt> </tt>
-<a name="L570"></a><tt class="py-lineno"> 570</tt> <tt class="py-line"><tt class="py-docstring"> safely ignored.</tt> </tt>
-<a name="L571"></a><tt class="py-lineno"> 571</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L572"></a><tt class="py-lineno"> 572</tt> <tt class="py-line"><tt class="py-docstring"> In server mode, the remote client may request "group-exchange" key</tt> </tt>
-<a name="L573"></a><tt class="py-lineno"> 573</tt> <tt class="py-line"><tt class="py-docstring"> negotiation, which asks the server to send a random prime number that</tt> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt> <tt class="py-line"><tt class="py-docstring"> fits certain criteria. These primes are pretty difficult to compute,</tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt> <tt class="py-line"><tt class="py-docstring"> so they can't be generated on demand. But many systems contain a file</tt> </tt>
-<a name="L576"></a><tt class="py-lineno"> 576</tt> <tt class="py-line"><tt class="py-docstring"> of suitable primes (usually named something like C{/etc/ssh/moduli}).</tt> </tt>
-<a name="L577"></a><tt class="py-lineno"> 577</tt> <tt class="py-line"><tt class="py-docstring"> If you call C{load_server_moduli} and it returns C{True}, then this</tt> </tt>
-<a name="L578"></a><tt class="py-lineno"> 578</tt> <tt class="py-line"><tt class="py-docstring"> file of primes has been loaded and we will support "group-exchange" in</tt> </tt>
-<a name="L579"></a><tt class="py-lineno"> 579</tt> <tt class="py-line"><tt class="py-docstring"> server mode. Otherwise server mode will just claim that it doesn't</tt> </tt>
-<a name="L580"></a><tt class="py-lineno"> 580</tt> <tt class="py-line"><tt class="py-docstring"> support that method of key negotiation.</tt> </tt>
-<a name="L581"></a><tt class="py-lineno"> 581</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L582"></a><tt class="py-lineno"> 582</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: optional path to the moduli file, if you happen to</tt> </tt>
-<a name="L583"></a><tt class="py-lineno"> 583</tt> <tt class="py-line"><tt class="py-docstring"> know that it's not in a standard location.</tt> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L585"></a><tt class="py-lineno"> 585</tt> <tt class="py-line"><tt class="py-docstring"> @return: True if a moduli file was successfully loaded; False</tt> </tt>
-<a name="L586"></a><tt class="py-lineno"> 586</tt> <tt class="py-line"><tt class="py-docstring"> otherwise.</tt> </tt>
-<a name="L587"></a><tt class="py-lineno"> 587</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L588"></a><tt class="py-lineno"> 588</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L589"></a><tt class="py-lineno"> 589</tt> <tt class="py-line"><tt class="py-docstring"> @note: This has no effect when used in client mode.</tt> </tt>
-<a name="L590"></a><tt class="py-lineno"> 590</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L591"></a><tt class="py-lineno"> 591</tt> <tt class="py-line"> <tt id="link-128" class="py-name" targets="Class paramiko.Transport=paramiko.Transport-class.html"><a title="paramiko.Transport" class="py-name" href="#" onclick="return doclink('link-128', 'Transport', 'link-128');">Transport</a></tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="paramiko.Transport._modulus_pack" class="py-name" href="#" onclick="return doclink('link-129', '_modulus_pack', 'link-98');">_modulus_pack</a></tt> <tt class="py-op">=</tt> <tt id="link-130" class="py-name"><a title="paramiko.primes.ModulusPack" class="py-name" href="#" onclick="return doclink('link-130', 'ModulusPack', 'link-30');">ModulusPack</a></tt><tt class="py-op">(</tt><tt id="link-131" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-131', 'rng', 'link-102');">rng</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno"> 592</tt> <tt class="py-line"> <tt class="py-comment"># places to look for the openssh "moduli" file</tt> </tt>
-<a name="L593"></a><tt class="py-lineno"> 593</tt> <tt class="py-line"> <tt class="py-name">file_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'/etc/ssh/moduli'</tt><tt class="py-op">,</tt> <tt class="py-string">'/usr/local/etc/moduli'</tt> <tt class="py-op">]</tt> </tt>
-<a name="L594"></a><tt class="py-lineno"> 594</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L595"></a><tt class="py-lineno"> 595</tt> <tt class="py-line"> <tt class="py-name">file_list</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L596"></a><tt class="py-lineno"> 596</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">fn</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file_list</tt><tt class="py-op">:</tt> </tt>
-<a name="L597"></a><tt class="py-lineno"> 597</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L598"></a><tt class="py-lineno"> 598</tt> <tt class="py-line"> <tt id="link-132" class="py-name"><a title="paramiko.Transport" class="py-name" href="#" onclick="return doclink('link-132', 'Transport', 'link-128');">Transport</a></tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="paramiko.Transport._modulus_pack" class="py-name" href="#" onclick="return doclink('link-133', '_modulus_pack', 'link-98');">_modulus_pack</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Method paramiko.primes.ModulusPack.read_file()=paramiko.primes.ModulusPack-class.html#read_file"><a title="paramiko.primes.ModulusPack.read_file" class="py-name" href="#" onclick="return doclink('link-134', 'read_file', 'link-134');">read_file</a></tt><tt class="py-op">(</tt><tt class="py-name">fn</tt><tt class="py-op">)</tt> </tt>
-<a name="L599"></a><tt class="py-lineno"> 599</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L600"></a><tt class="py-lineno"> 600</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
-<a name="L601"></a><tt class="py-lineno"> 601</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L602"></a><tt class="py-lineno"> 602</tt> <tt class="py-line"> <tt class="py-comment"># none succeeded</tt> </tt>
-<a name="L603"></a><tt class="py-lineno"> 603</tt> <tt class="py-line"> <tt id="link-135" class="py-name"><a title="paramiko.Transport" class="py-name" href="#" onclick="return doclink('link-135', 'Transport', 'link-128');">Transport</a></tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="paramiko.Transport._modulus_pack" class="py-name" href="#" onclick="return doclink('link-136', '_modulus_pack', 'link-98');">_modulus_pack</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L604"></a><tt class="py-lineno"> 604</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L605"></a><tt class="py-lineno"> 605</tt> <tt class="py-line"> <tt id="link-137" class="py-name" targets="Static Method paramiko.Transport.load_server_moduli()=paramiko.Transport-class.html#load_server_moduli"><a title="paramiko.Transport.load_server_moduli" class="py-name" href="#" onclick="return doclink('link-137', 'load_server_moduli', 'link-137');">load_server_moduli</a></tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">(</tt><tt id="link-138" class="py-name"><a title="paramiko.Transport.load_server_moduli" class="py-name" href="#" onclick="return doclink('link-138', 'load_server_moduli', 'link-137');">load_server_moduli</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L606"></a><tt class="py-lineno"> 606</tt> <tt class="py-line"> </tt>
-<a name="Transport.close"></a><div id="Transport.close-def"><a name="L607"></a><tt class="py-lineno"> 607</tt> <a class="py-toggle" href="#" id="Transport.close-toggle" onclick="return toggle('Transport.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.close-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.close-expanded"><a name="L608"></a><tt class="py-lineno"> 608</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L609"></a><tt class="py-lineno"> 609</tt> <tt class="py-line"><tt class="py-docstring"> Close this session, and any open channels that are tied to it.</tt> </tt>
-<a name="L610"></a><tt class="py-lineno"> 610</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L611"></a><tt class="py-lineno"> 611</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L612"></a><tt class="py-lineno"> 612</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L613"></a><tt class="py-lineno"> 613</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L614"></a><tt class="py-lineno"> 614</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-139', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L615"></a><tt class="py-lineno"> 615</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L616"></a><tt class="py-lineno"> 616</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chan</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="paramiko.HostKeys.values
-paramiko.transport.ChannelMap.values" class="py-name" href="#" onclick="return doclink('link-140', 'values', 'link-77');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L617"></a><tt class="py-lineno"> 617</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_unlink</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L618"></a><tt class="py-lineno"> 618</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_remote_server_key"></a><div id="Transport.get_remote_server_key-def"><a name="L619"></a><tt class="py-lineno"> 619</tt> <a class="py-toggle" href="#" id="Transport.get_remote_server_key-toggle" onclick="return toggle('Transport.get_remote_server_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_remote_server_key">get_remote_server_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_remote_server_key-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_remote_server_key-expanded"><a name="L620"></a><tt class="py-lineno"> 620</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L621"></a><tt class="py-lineno"> 621</tt> <tt class="py-line"><tt class="py-docstring"> Return the host key of the server (in client mode).</tt> </tt>
-<a name="L622"></a><tt class="py-lineno"> 622</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L623"></a><tt class="py-lineno"> 623</tt> <tt class="py-line"><tt class="py-docstring"> @note: Previously this call returned a tuple of (key type, key string).</tt> </tt>
-<a name="L624"></a><tt class="py-lineno"> 624</tt> <tt class="py-line"><tt class="py-docstring"> You can get the same effect by calling</tt> </tt>
-<a name="L625"></a><tt class="py-lineno"> 625</tt> <tt class="py-line"><tt class="py-docstring"> L{PKey.get_name &lt;pkey.PKey.get_name&gt;} for the key type, and</tt> </tt>
-<a name="L626"></a><tt class="py-lineno"> 626</tt> <tt class="py-line"><tt class="py-docstring"> C{str(key)} for the key string.</tt> </tt>
-<a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L628"></a><tt class="py-lineno"> 628</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if no session is currently active.</tt> </tt>
-<a name="L629"></a><tt class="py-lineno"> 629</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L630"></a><tt class="py-lineno"> 630</tt> <tt class="py-line"><tt class="py-docstring"> @return: public key of the remote server</tt> </tt>
-<a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{PKey &lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L633"></a><tt class="py-lineno"> 633</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L634"></a><tt class="py-lineno"> 634</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-141" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-141', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No existing session'</tt><tt class="py-op">)</tt> </tt>
-<a name="L635"></a><tt class="py-lineno"> 635</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key</tt> </tt>
-</div><a name="L636"></a><tt class="py-lineno"> 636</tt> <tt class="py-line"> </tt>
-<a name="Transport.is_active"></a><div id="Transport.is_active-def"><a name="L637"></a><tt class="py-lineno"> 637</tt> <a class="py-toggle" href="#" id="Transport.is_active-toggle" onclick="return toggle('Transport.is_active');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#is_active">is_active</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.is_active-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.is_active-expanded"><a name="L638"></a><tt class="py-lineno"> 638</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"><tt class="py-docstring"> Return true if this session is active (open).</tt> </tt>
-<a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"><tt class="py-docstring"> @return: True if the session is still active (open); False if the</tt> </tt>
-<a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"><tt class="py-docstring"> session is closed</tt> </tt>
-<a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L645"></a><tt class="py-lineno"> 645</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> </tt>
-</div><a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"> </tt>
-<a name="Transport.open_session"></a><div id="Transport.open_session-def"><a name="L647"></a><tt class="py-lineno"> 647</tt> <a class="py-toggle" href="#" id="Transport.open_session-toggle" onclick="return toggle('Transport.open_session');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#open_session">open_session</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.open_session-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.open_session-expanded"><a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L649"></a><tt class="py-lineno"> 649</tt> <tt class="py-line"><tt class="py-docstring"> Request a new channel to the server, of type C{"session"}. This</tt> </tt>
-<a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"><tt class="py-docstring"> is just an alias for C{open_channel('session')}.</tt> </tt>
-<a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new L{Channel}</tt> </tt>
-<a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Channel}</tt> </tt>
-<a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request is rejected or the session ends</tt> </tt>
-<a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"><tt class="py-docstring"> prematurely</tt> </tt>
-<a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name" targets="Method paramiko.Transport.open_channel()=paramiko.Transport-class.html#open_channel"><a title="paramiko.Transport.open_channel" class="py-name" href="#" onclick="return doclink('link-142', 'open_channel', 'link-142');">open_channel</a></tt><tt class="py-op">(</tt><tt class="py-string">'session'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L659"></a><tt class="py-lineno"> 659</tt> <tt class="py-line"> </tt>
-<a name="Transport.open_x11_channel"></a><div id="Transport.open_x11_channel-def"><a name="L660"></a><tt class="py-lineno"> 660</tt> <a class="py-toggle" href="#" id="Transport.open_x11_channel-toggle" onclick="return toggle('Transport.open_x11_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#open_x11_channel">open_x11_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">src_addr</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.open_x11_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.open_x11_channel-expanded"><a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L662"></a><tt class="py-lineno"> 662</tt> <tt class="py-line"><tt class="py-docstring"> Request a new channel to the client, of type C{"x11"}. This</tt> </tt>
-<a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"><tt class="py-docstring"> is just an alias for C{open_channel('x11', src_addr=src_addr)}.</tt> </tt>
-<a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L665"></a><tt class="py-lineno"> 665</tt> <tt class="py-line"><tt class="py-docstring"> @param src_addr: the source address of the x11 server (port is the</tt> </tt>
-<a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"><tt class="py-docstring"> x11 port, ie. 6010)</tt> </tt>
-<a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"><tt class="py-docstring"> @type src_addr: (str, int)</tt> </tt>
-<a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new L{Channel}</tt> </tt>
-<a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Channel}</tt> </tt>
-<a name="L670"></a><tt class="py-lineno"> 670</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L671"></a><tt class="py-lineno"> 671</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request is rejected or the session ends</tt> </tt>
-<a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"><tt class="py-docstring"> prematurely</tt> </tt>
-<a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="paramiko.Transport.open_channel" class="py-name" href="#" onclick="return doclink('link-143', 'open_channel', 'link-142');">open_channel</a></tt><tt class="py-op">(</tt><tt class="py-string">'x11'</tt><tt class="py-op">,</tt> <tt class="py-name">src_addr</tt><tt class="py-op">=</tt><tt class="py-name">src_addr</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"> </tt>
-<a name="Transport.open_forwarded_tcpip_channel"></a><div id="Transport.open_forwarded_tcpip_channel-def"><a name="L676"></a><tt class="py-lineno"> 676</tt> <a class="py-toggle" href="#" id="Transport.open_forwarded_tcpip_channel-toggle" onclick="return toggle('Transport.open_forwarded_tcpip_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#open_forwarded_tcpip_channel">open_forwarded_tcpip_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">src_addr</tt><tt class="py-op">,</tt> <tt class="py-param">src_port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">dest_addr</tt><tt class="py-op">,</tt> <tt class="py-param">dest_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.open_forwarded_tcpip_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.open_forwarded_tcpip_channel-expanded"><a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"><tt class="py-docstring"> Request a new channel back to the client, of type C{"forwarded-tcpip"}.</tt> </tt>
-<a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"><tt class="py-docstring"> This is used after a client has requested port forwarding, for sending</tt> </tt>
-<a name="L680"></a><tt class="py-lineno"> 680</tt> <tt class="py-line"><tt class="py-docstring"> incoming connections back to the client.</tt> </tt>
-<a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L682"></a><tt class="py-lineno"> 682</tt> <tt class="py-line"><tt class="py-docstring"> @param src_addr: originator's address</tt> </tt>
-<a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"><tt class="py-docstring"> @param src_port: originator's port</tt> </tt>
-<a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"><tt class="py-docstring"> @param dest_addr: local (server) connected address</tt> </tt>
-<a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"><tt class="py-docstring"> @param dest_port: local (server) connected port</tt> </tt>
-<a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="paramiko.Transport.open_channel" class="py-name" href="#" onclick="return doclink('link-144', 'open_channel', 'link-142');">open_channel</a></tt><tt class="py-op">(</tt><tt class="py-string">'forwarded-tcpip'</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">dest_addr</tt><tt class="py-op">,</tt> <tt class="py-name">dest_port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">src_addr</tt><tt class="py-op">,</tt> <tt class="py-name">src_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L688"></a><tt class="py-lineno"> 688</tt> <tt class="py-line"> </tt>
-<a name="Transport.open_channel"></a><div id="Transport.open_channel-def"><a name="L689"></a><tt class="py-lineno"> 689</tt> <a class="py-toggle" href="#" id="Transport.open_channel-toggle" onclick="return toggle('Transport.open_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#open_channel">open_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">kind</tt><tt class="py-op">,</tt> <tt class="py-param">dest_addr</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">src_addr</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.open_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.open_channel-expanded"><a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L691"></a><tt class="py-lineno"> 691</tt> <tt class="py-line"><tt class="py-docstring"> Request a new channel to the server. L{Channel}s are socket-like</tt> </tt>
-<a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"><tt class="py-docstring"> objects used for the actual transfer of data across the session.</tt> </tt>
-<a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"><tt class="py-docstring"> You may only request a channel after negotiating encryption (using</tt> </tt>
-<a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"><tt class="py-docstring"> L{connect} or L{start_client}) and authenticating.</tt> </tt>
-<a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"><tt class="py-docstring"> @param kind: the kind of channel requested (usually C{"session"},</tt> </tt>
-<a name="L697"></a><tt class="py-lineno"> 697</tt> <tt class="py-line"><tt class="py-docstring"> C{"forwarded-tcpip"}, C{"direct-tcpip"}, or C{"x11"})</tt> </tt>
-<a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"><tt class="py-docstring"> @type kind: str</tt> </tt>
-<a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"><tt class="py-docstring"> @param dest_addr: the destination address of this port forwarding,</tt> </tt>
-<a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"><tt class="py-docstring"> if C{kind} is C{"forwarded-tcpip"} or C{"direct-tcpip"} (ignored</tt> </tt>
-<a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"><tt class="py-docstring"> for other channel types)</tt> </tt>
-<a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"><tt class="py-docstring"> @type dest_addr: (str, int)</tt> </tt>
-<a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"><tt class="py-docstring"> @param src_addr: the source address of this port forwarding, if</tt> </tt>
-<a name="L704"></a><tt class="py-lineno"> 704</tt> <tt class="py-line"><tt class="py-docstring"> C{kind} is C{"forwarded-tcpip"}, C{"direct-tcpip"}, or C{"x11"}</tt> </tt>
-<a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"><tt class="py-docstring"> @type src_addr: (str, int)</tt> </tt>
-<a name="L706"></a><tt class="py-lineno"> 706</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new L{Channel} on success</tt> </tt>
-<a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Channel}</tt> </tt>
-<a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the request is rejected or the session ends</tt> </tt>
-<a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"><tt class="py-docstring"> prematurely</tt> </tt>
-<a name="L711"></a><tt class="py-lineno"> 711</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-145" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-145', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'SSH session not active'</tt><tt class="py-op">)</tt> </tt>
-<a name="L714"></a><tt class="py-lineno"> 714</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_next_channel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-146" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-146', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Method paramiko.Message.add_byte()=paramiko.Message-class.html#add_byte"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-147', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-148" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_OPEN=paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN,Variable paramiko.channel.MSG_CHANNEL_OPEN=paramiko.channel-module.html#MSG_CHANNEL_OPEN,Variable paramiko.client.MSG_CHANNEL_OPEN=paramiko.client-module.html#MSG_CHANNEL_OPEN,Variable paramiko.common.MSG_CHANNEL_OPEN=paramiko.common-module.html#MSG_CHANNEL_OPEN,Variable paramiko.dsskey.MSG_CHANNEL_OPEN=paramiko.dsskey-module.html#MSG_CHANNEL_OPEN,Variable paramiko.hostkeys.MSG_CHANNEL_OPEN=paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN,Variable paramiko.kex_gex.MSG_CHANNEL_OPEN=paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN,Variable paramiko.kex_group1.MSG_CHANNEL_OPEN=paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN,Variable paramiko.packet.MSG_CHANNEL_OPEN=paramiko.packet-module.html#MSG_CHANNEL_OPEN,Variable paramiko.pkey.MSG_CHANNEL_OPEN=paramiko.pkey-module.html#MSG_CHANNEL_OPEN,Variable paramiko.rsakey.MSG_CHANNEL_OPEN=paramiko.rsakey-module.html#MSG_CHANNEL_OPEN,Variable paramiko.server.MSG_CHANNEL_OPEN=paramiko.server-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp.MSG_CHANNEL_OPEN=paramiko.sftp-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_attr.MSG_CHANNEL_OPEN=paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_client.MSG_CHANNEL_OPEN=paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_file.MSG_CHANNEL_OPEN=paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_handle.MSG_CHANNEL_OPEN=paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_server.MSG_CHANNEL_OPEN=paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN,Variable paramiko.sftp_si.MSG_CHANNEL_OPEN=paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN,Variable paramiko.transport.MSG_CHANNEL_OPEN=paramiko.transport-module.html#MSG_CHANNEL_OPEN,Variable paramiko.util.MSG_CHANNEL_OPEN=paramiko.util-module.html#MSG_CHANNEL_OPEN"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN
-paramiko.channel.MSG_CHANNEL_OPEN
-paramiko.client.MSG_CHANNEL_OPEN
-paramiko.common.MSG_CHANNEL_OPEN
-paramiko.dsskey.MSG_CHANNEL_OPEN
-paramiko.hostkeys.MSG_CHANNEL_OPEN
-paramiko.kex_gex.MSG_CHANNEL_OPEN
-paramiko.kex_group1.MSG_CHANNEL_OPEN
-paramiko.packet.MSG_CHANNEL_OPEN
-paramiko.pkey.MSG_CHANNEL_OPEN
-paramiko.rsakey.MSG_CHANNEL_OPEN
-paramiko.server.MSG_CHANNEL_OPEN
-paramiko.sftp.MSG_CHANNEL_OPEN
-paramiko.sftp_attr.MSG_CHANNEL_OPEN
-paramiko.sftp_client.MSG_CHANNEL_OPEN
-paramiko.sftp_file.MSG_CHANNEL_OPEN
-paramiko.sftp_handle.MSG_CHANNEL_OPEN
-paramiko.sftp_server.MSG_CHANNEL_OPEN
-paramiko.sftp_si.MSG_CHANNEL_OPEN
-paramiko.transport.MSG_CHANNEL_OPEN
-paramiko.util.MSG_CHANNEL_OPEN" class="py-name" href="#" onclick="return doclink('link-148', 'MSG_CHANNEL_OPEN', 'link-148');">MSG_CHANNEL_OPEN</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name" targets="Method paramiko.Message.add_string()=paramiko.Message-class.html#add_string"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-149', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method paramiko.Message.add_int()=paramiko.Message-class.html#add_int"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-150', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-151', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-152', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L723"></a><tt class="py-lineno"> 723</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'forwarded-tcpip'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'direct-tcpip'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-153', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">dest_addr</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-154', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">dest_addr</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-155', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">src_addr</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-156', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">src_addr</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'x11'</tt><tt class="py-op">:</tt> </tt>
-<a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-157', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">src_addr</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-158', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">src_addr</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L731"></a><tt class="py-lineno"> 731</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt id="link-159" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-159', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L732"></a><tt class="py-lineno"> 732</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name" targets="Method paramiko.SFTPClient.put()=paramiko.SFTPClient-class.html#put,Method paramiko.transport.ChannelMap.put()=paramiko.transport.ChannelMap-class.html#put"><a title="paramiko.SFTPClient.put
-paramiko.transport.ChannelMap.put" class="py-name" href="#" onclick="return doclink('link-160', 'put', 'link-160');">put</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">,</tt> <tt class="py-name">chan</tt><tt class="py-op">)</tt> </tt>
-<a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channels_seen</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_set_transport</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_set_window</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_size</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt>
-<a name="L742"></a><tt class="py-lineno"> 742</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-161', 'get_exception', 'link-119');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L745"></a><tt class="py-lineno"> 745</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-162" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-162', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unable to open channel.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-163', 'get', 'link-76');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chan</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L751"></a><tt class="py-lineno"> 751</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">chan</tt> </tt>
-<a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-164', 'get_exception', 'link-119');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-165', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unable to open channel.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L755"></a><tt class="py-lineno"> 755</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-</div><a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"> </tt>
-<a name="Transport.request_port_forward"></a><div id="Transport.request_port_forward-def"><a name="L757"></a><tt class="py-lineno"> 757</tt> <a class="py-toggle" href="#" id="Transport.request_port_forward-toggle" onclick="return toggle('Transport.request_port_forward');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#request_port_forward">request_port_forward</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">address</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.request_port_forward-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.request_port_forward-expanded"><a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"><tt class="py-docstring"> Ask the server to forward TCP connections from a listening port on</tt> </tt>
-<a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"><tt class="py-docstring"> the server, across this SSH session.</tt> </tt>
-<a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L762"></a><tt class="py-lineno"> 762</tt> <tt class="py-line"><tt class="py-docstring"> If a handler is given, that handler is called from a different thread</tt> </tt>
-<a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"><tt class="py-docstring"> whenever a forwarded connection arrives. The handler parameters are::</tt> </tt>
-<a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"><tt class="py-docstring"> handler(channel, (origin_addr, origin_port), (server_addr, server_port))</tt> </tt>
-<a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"><tt class="py-docstring"> where C{server_addr} and C{server_port} are the address and port that</tt> </tt>
-<a name="L768"></a><tt class="py-lineno"> 768</tt> <tt class="py-line"><tt class="py-docstring"> the server was listening on.</tt> </tt>
-<a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"><tt class="py-docstring"> If no handler is set, the default behavior is to send new incoming</tt> </tt>
-<a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"><tt class="py-docstring"> forwarded connections into the accept queue, to be picked up via</tt> </tt>
-<a name="L772"></a><tt class="py-lineno"> 772</tt> <tt class="py-line"><tt class="py-docstring"> L{accept}.</tt> </tt>
-<a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"><tt class="py-docstring"> @param address: the address to bind when forwarding</tt> </tt>
-<a name="L775"></a><tt class="py-lineno"> 775</tt> <tt class="py-line"><tt class="py-docstring"> @type address: str</tt> </tt>
-<a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"><tt class="py-docstring"> @param port: the port to forward, or 0 to ask the server to allocate</tt> </tt>
-<a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"><tt class="py-docstring"> any port</tt> </tt>
-<a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"><tt class="py-docstring"> @type port: int</tt> </tt>
-<a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"><tt class="py-docstring"> @param handler: optional handler for incoming forwarded connections</tt> </tt>
-<a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"><tt class="py-docstring"> @type handler: function(Channel, (str, int), (str, int))</tt> </tt>
-<a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"><tt class="py-docstring"> @return: the port # allocated by the server</tt> </tt>
-<a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: int</tt> </tt>
-<a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the server refused the TCP forward request</tt> </tt>
-<a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L786"></a><tt class="py-lineno"> 786</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-166" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-166', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'SSH session not active'</tt><tt class="py-op">)</tt> </tt>
-<a name="L788"></a><tt class="py-lineno"> 788</tt> <tt class="py-line"> <tt class="py-name">address</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">)</tt> </tt>
-<a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">port</tt><tt class="py-op">)</tt> </tt>
-<a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"> <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name" targets="Method paramiko.Transport.global_request()=paramiko.Transport-class.html#global_request"><a title="paramiko.Transport.global_request" class="py-name" href="#" onclick="return doclink('link-167', 'global_request', 'link-167');">global_request</a></tt><tt class="py-op">(</tt><tt class="py-string">'tcpip-forward'</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">wait</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">response</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L792"></a><tt class="py-lineno"> 792</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-168" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-168', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'TCP forwarding request denied'</tt><tt class="py-op">)</tt> </tt>
-<a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name" targets="Method paramiko.Message.get_int()=paramiko.Message-class.html#get_int"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-169', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handler</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L796"></a><tt class="py-lineno"> 796</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">default_handler</tt><tt class="py-op">(</tt><tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">src_addr</tt><tt class="py-op">,</tt> <tt class="py-param">src_port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">dest_addr</tt><tt class="py-op">,</tt> <tt class="py-param">dest_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_queue_incoming_channel</tt><tt class="py-op">(</tt><tt id="link-170" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-170', 'channel', 'link-5');">channel</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L798"></a><tt class="py-lineno"> 798</tt> <tt class="py-line"> <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt class="py-name">default_handler</tt> </tt>
-<a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tcp_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt> </tt>
-<a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">port</tt> </tt>
-</div><a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"> </tt>
-<a name="Transport.cancel_port_forward"></a><div id="Transport.cancel_port_forward-def"><a name="L802"></a><tt class="py-lineno"> 802</tt> <a class="py-toggle" href="#" id="Transport.cancel_port_forward-toggle" onclick="return toggle('Transport.cancel_port_forward');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#cancel_port_forward">cancel_port_forward</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">address</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.cancel_port_forward-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.cancel_port_forward-expanded"><a name="L803"></a><tt class="py-lineno"> 803</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L804"></a><tt class="py-lineno"> 804</tt> <tt class="py-line"><tt class="py-docstring"> Ask the server to cancel a previous port-forwarding request. No more</tt> </tt>
-<a name="L805"></a><tt class="py-lineno"> 805</tt> <tt class="py-line"><tt class="py-docstring"> connections to the given address &amp; port will be forwarded across this</tt> </tt>
-<a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"><tt class="py-docstring"> ssh connection.</tt> </tt>
-<a name="L807"></a><tt class="py-lineno"> 807</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L808"></a><tt class="py-lineno"> 808</tt> <tt class="py-line"><tt class="py-docstring"> @param address: the address to stop forwarding</tt> </tt>
-<a name="L809"></a><tt class="py-lineno"> 809</tt> <tt class="py-line"><tt class="py-docstring"> @type address: str</tt> </tt>
-<a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"><tt class="py-docstring"> @param port: the port to stop forwarding</tt> </tt>
-<a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"><tt class="py-docstring"> @type port: int</tt> </tt>
-<a name="L812"></a><tt class="py-lineno"> 812</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L813"></a><tt class="py-lineno"> 813</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tcp_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="paramiko.Transport.global_request" class="py-name" href="#" onclick="return doclink('link-171', 'global_request', 'link-167');">global_request</a></tt><tt class="py-op">(</tt><tt class="py-string">'cancel-tcpip-forward'</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">wait</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"> </tt>
-<a name="Transport.open_sftp_client"></a><div id="Transport.open_sftp_client-def"><a name="L818"></a><tt class="py-lineno"> 818</tt> <a class="py-toggle" href="#" id="Transport.open_sftp_client-toggle" onclick="return toggle('Transport.open_sftp_client');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#open_sftp_client">open_sftp_client</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.open_sftp_client-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.open_sftp_client-expanded"><a name="L819"></a><tt class="py-lineno"> 819</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"><tt class="py-docstring"> Create an SFTP client channel from an open transport. On success,</tt> </tt>
-<a name="L821"></a><tt class="py-lineno"> 821</tt> <tt class="py-line"><tt class="py-docstring"> an SFTP session will be opened with the remote host, and a new</tt> </tt>
-<a name="L822"></a><tt class="py-lineno"> 822</tt> <tt class="py-line"><tt class="py-docstring"> SFTPClient object will be returned.</tt> </tt>
-<a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new L{SFTPClient} object, referring to an sftp session</tt> </tt>
-<a name="L825"></a><tt class="py-lineno"> 825</tt> <tt class="py-line"><tt class="py-docstring"> (channel) across this transport</tt> </tt>
-<a name="L826"></a><tt class="py-lineno"> 826</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{SFTPClient}</tt> </tt>
-<a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L828"></a><tt class="py-lineno"> 828</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-172" class="py-name"><a title="paramiko.SFTPClient" class="py-name" href="#" onclick="return doclink('link-172', 'SFTPClient', 'link-39');">SFTPClient</a></tt><tt class="py-op">.</tt><tt id="link-173" class="py-name" targets="Class Method paramiko.SFTPClient.from_transport()=paramiko.SFTPClient-class.html#from_transport"><a title="paramiko.SFTPClient.from_transport" class="py-name" href="#" onclick="return doclink('link-173', 'from_transport', 'link-173');">from_transport</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L829"></a><tt class="py-lineno"> 829</tt> <tt class="py-line"> </tt>
-<a name="Transport.send_ignore"></a><div id="Transport.send_ignore-def"><a name="L830"></a><tt class="py-lineno"> 830</tt> <a class="py-toggle" href="#" id="Transport.send_ignore-toggle" onclick="return toggle('Transport.send_ignore');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#send_ignore">send_ignore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">bytes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.send_ignore-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.send_ignore-expanded"><a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L832"></a><tt class="py-lineno"> 832</tt> <tt class="py-line"><tt class="py-docstring"> Send a junk packet across the encrypted link. This is sometimes used</tt> </tt>
-<a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"><tt class="py-docstring"> to add "noise" to a connection to confuse would-be attackers. It can</tt> </tt>
-<a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"><tt class="py-docstring"> also be used as a keep-alive for long lived connections traversing</tt> </tt>
-<a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"><tt class="py-docstring"> firewalls.</tt> </tt>
-<a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"><tt class="py-docstring"> @param bytes: the number of random bytes to send in the payload of the</tt> </tt>
-<a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"><tt class="py-docstring"> ignored packet -- defaults to a random number from 10 to 41.</tt> </tt>
-<a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"><tt class="py-docstring"> @type bytes: int</tt> </tt>
-<a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-174" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-174', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-175', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-176" class="py-name" targets="Variable paramiko.auth_handler.MSG_IGNORE=paramiko.auth_handler-module.html#MSG_IGNORE,Variable paramiko.channel.MSG_IGNORE=paramiko.channel-module.html#MSG_IGNORE,Variable paramiko.client.MSG_IGNORE=paramiko.client-module.html#MSG_IGNORE,Variable paramiko.common.MSG_IGNORE=paramiko.common-module.html#MSG_IGNORE,Variable paramiko.dsskey.MSG_IGNORE=paramiko.dsskey-module.html#MSG_IGNORE,Variable paramiko.hostkeys.MSG_IGNORE=paramiko.hostkeys-module.html#MSG_IGNORE,Variable paramiko.kex_gex.MSG_IGNORE=paramiko.kex_gex-module.html#MSG_IGNORE,Variable paramiko.kex_group1.MSG_IGNORE=paramiko.kex_group1-module.html#MSG_IGNORE,Variable paramiko.packet.MSG_IGNORE=paramiko.packet-module.html#MSG_IGNORE,Variable paramiko.pkey.MSG_IGNORE=paramiko.pkey-module.html#MSG_IGNORE,Variable paramiko.rsakey.MSG_IGNORE=paramiko.rsakey-module.html#MSG_IGNORE,Variable paramiko.server.MSG_IGNORE=paramiko.server-module.html#MSG_IGNORE,Variable paramiko.sftp.MSG_IGNORE=paramiko.sftp-module.html#MSG_IGNORE,Variable paramiko.sftp_attr.MSG_IGNORE=paramiko.sftp_attr-module.html#MSG_IGNORE,Variable paramiko.sftp_client.MSG_IGNORE=paramiko.sftp_client-module.html#MSG_IGNORE,Variable paramiko.sftp_file.MSG_IGNORE=paramiko.sftp_file-module.html#MSG_IGNORE,Variable paramiko.sftp_handle.MSG_IGNORE=paramiko.sftp_handle-module.html#MSG_IGNORE,Variable paramiko.sftp_server.MSG_IGNORE=paramiko.sftp_server-module.html#MSG_IGNORE,Variable paramiko.sftp_si.MSG_IGNORE=paramiko.sftp_si-module.html#MSG_IGNORE,Variable paramiko.transport.MSG_IGNORE=paramiko.transport-module.html#MSG_IGNORE,Variable paramiko.util.MSG_IGNORE=paramiko.util-module.html#MSG_IGNORE"><a title="paramiko.auth_handler.MSG_IGNORE
-paramiko.channel.MSG_IGNORE
-paramiko.client.MSG_IGNORE
-paramiko.common.MSG_IGNORE
-paramiko.dsskey.MSG_IGNORE
-paramiko.hostkeys.MSG_IGNORE
-paramiko.kex_gex.MSG_IGNORE
-paramiko.kex_group1.MSG_IGNORE
-paramiko.packet.MSG_IGNORE
-paramiko.pkey.MSG_IGNORE
-paramiko.rsakey.MSG_IGNORE
-paramiko.server.MSG_IGNORE
-paramiko.sftp.MSG_IGNORE
-paramiko.sftp_attr.MSG_IGNORE
-paramiko.sftp_client.MSG_IGNORE
-paramiko.sftp_file.MSG_IGNORE
-paramiko.sftp_handle.MSG_IGNORE
-paramiko.sftp_server.MSG_IGNORE
-paramiko.sftp_si.MSG_IGNORE
-paramiko.transport.MSG_IGNORE
-paramiko.util.MSG_IGNORE" class="py-name" href="#" onclick="return doclink('link-176', 'MSG_IGNORE', 'link-176');">MSG_IGNORE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bytes</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"> <tt class="py-name">bytes</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt id="link-177" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-177', 'rng', 'link-102');">rng</a></tt><tt class="py-op">.</tt><tt id="link-178" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-178', 'read', 'link-178');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">32</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> </tt>
-<a name="L845"></a><tt class="py-lineno"> 845</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name" targets="Method paramiko.Message.add_bytes()=paramiko.Message-class.html#add_bytes"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-179', 'add_bytes', 'link-179');">add_bytes</a></tt><tt class="py-op">(</tt><tt id="link-180" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-180', 'rng', 'link-102');">rng</a></tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-181', 'read', 'link-178');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L846"></a><tt class="py-lineno"> 846</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"> </tt>
-<a name="Transport.renegotiate_keys"></a><div id="Transport.renegotiate_keys-def"><a name="L848"></a><tt class="py-lineno"> 848</tt> <a class="py-toggle" href="#" id="Transport.renegotiate_keys-toggle" onclick="return toggle('Transport.renegotiate_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#renegotiate_keys">renegotiate_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.renegotiate_keys-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.renegotiate_keys-expanded"><a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"><tt class="py-docstring"> Force this session to switch to new keys. Normally this is done</tt> </tt>
-<a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"><tt class="py-docstring"> automatically after the session hits a certain number of packets or</tt> </tt>
-<a name="L852"></a><tt class="py-lineno"> 852</tt> <tt class="py-line"><tt class="py-docstring"> bytes sent or received, but this method gives you the option of forcing</tt> </tt>
-<a name="L853"></a><tt class="py-lineno"> 853</tt> <tt class="py-line"><tt class="py-docstring"> new keys whenever you want. Negotiating new keys causes a pause in</tt> </tt>
-<a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"><tt class="py-docstring"> traffic both ways as the two sides swap keys and do computations. This</tt> </tt>
-<a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"><tt class="py-docstring"> method returns when the session has switched to new keys.</tt> </tt>
-<a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the key renegotiation failed (which causes the</tt> </tt>
-<a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"><tt class="py-docstring"> session to end)</tt> </tt>
-<a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_kex_init</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L863"></a><tt class="py-lineno"> 863</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="paramiko.Transport.get_exception" class="py-name" href="#" onclick="return doclink('link-182', 'get_exception', 'link-119');">get_exception</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L866"></a><tt class="py-lineno"> 866</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">e</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
-<a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-183" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-183', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Negotiation failed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"> </tt>
-<a name="Transport.set_keepalive"></a><div id="Transport.set_keepalive-def"><a name="L873"></a><tt class="py-lineno"> 873</tt> <a class="py-toggle" href="#" id="Transport.set_keepalive-toggle" onclick="return toggle('Transport.set_keepalive');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#set_keepalive">set_keepalive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">interval</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.set_keepalive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.set_keepalive-expanded"><a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L875"></a><tt class="py-lineno"> 875</tt> <tt class="py-line"><tt class="py-docstring"> Turn on/off keepalive packets (default is off). If this is set, after</tt> </tt>
-<a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"><tt class="py-docstring"> C{interval} seconds without sending any data over the connection, a</tt> </tt>
-<a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"><tt class="py-docstring"> "keepalive" packet will be sent (and ignored by the remote host). This</tt> </tt>
-<a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"><tt class="py-docstring"> can be useful to keep connections alive over a NAT, for example.</tt> </tt>
-<a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"><tt class="py-docstring"> @param interval: seconds to wait before sending a keepalive packet (or</tt> </tt>
-<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"><tt class="py-docstring"> 0 to disable keepalives).</tt> </tt>
-<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"><tt class="py-docstring"> @type interval: int</tt> </tt>
-<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name" targets="Method paramiko.Transport.set_keepalive()=paramiko.Transport-class.html#set_keepalive"><a title="paramiko.Transport.set_keepalive" class="py-name" href="#" onclick="return doclink('link-184', 'set_keepalive', 'link-184');">set_keepalive</a></tt><tt class="py-op">(</tt><tt class="py-name">interval</tt><tt class="py-op">,</tt> </tt>
-<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"> <tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">=</tt><tt class="py-name">weakref</tt><tt class="py-op">.</tt><tt class="py-name">proxy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="paramiko.Transport.global_request" class="py-name" href="#" onclick="return doclink('link-185', 'global_request', 'link-167');">global_request</a></tt><tt class="py-op">(</tt><tt class="py-string">'keepalive@lag.net'</tt><tt class="py-op">,</tt> <tt class="py-name">wait</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"> </tt>
-<a name="Transport.global_request"></a><div id="Transport.global_request-def"><a name="L887"></a><tt class="py-lineno"> 887</tt> <a class="py-toggle" href="#" id="Transport.global_request-toggle" onclick="return toggle('Transport.global_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#global_request">global_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">kind</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">wait</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.global_request-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.global_request-expanded"><a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"><tt class="py-docstring"> Make a global request to the remote host. These are normally</tt> </tt>
-<a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"><tt class="py-docstring"> extensions to the SSH2 protocol.</tt> </tt>
-<a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"><tt class="py-docstring"> @param kind: name of the request.</tt> </tt>
-<a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"><tt class="py-docstring"> @type kind: str</tt> </tt>
-<a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"><tt class="py-docstring"> @param data: an optional tuple containing additional data to attach</tt> </tt>
-<a name="L895"></a><tt class="py-lineno"> 895</tt> <tt class="py-line"><tt class="py-docstring"> to the request.</tt> </tt>
-<a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"><tt class="py-docstring"> @type data: tuple</tt> </tt>
-<a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"><tt class="py-docstring"> @param wait: C{True} if this method should not return until a response</tt> </tt>
-<a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"><tt class="py-docstring"> is received; C{False} otherwise.</tt> </tt>
-<a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"><tt class="py-docstring"> @type wait: bool</tt> </tt>
-<a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"><tt class="py-docstring"> @return: a L{Message} containing possible additional data if the</tt> </tt>
-<a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"><tt class="py-docstring"> request was successful (or an empty L{Message} if C{wait} was</tt> </tt>
-<a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"><tt class="py-docstring"> C{False}); C{None} if the request was denied.</tt> </tt>
-<a name="L903"></a><tt class="py-lineno"> 903</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Message}</tt> </tt>
-<a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">wait</tt><tt class="py-op">:</tt> </tt>
-<a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L907"></a><tt class="py-lineno"> 907</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-186', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L908"></a><tt class="py-lineno"> 908</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-187', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-188" class="py-name" targets="Variable paramiko.auth_handler.MSG_GLOBAL_REQUEST=paramiko.auth_handler-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.channel.MSG_GLOBAL_REQUEST=paramiko.channel-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.client.MSG_GLOBAL_REQUEST=paramiko.client-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.common.MSG_GLOBAL_REQUEST=paramiko.common-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.dsskey.MSG_GLOBAL_REQUEST=paramiko.dsskey-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.hostkeys.MSG_GLOBAL_REQUEST=paramiko.hostkeys-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.kex_gex.MSG_GLOBAL_REQUEST=paramiko.kex_gex-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.kex_group1.MSG_GLOBAL_REQUEST=paramiko.kex_group1-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.packet.MSG_GLOBAL_REQUEST=paramiko.packet-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.pkey.MSG_GLOBAL_REQUEST=paramiko.pkey-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.rsakey.MSG_GLOBAL_REQUEST=paramiko.rsakey-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.server.MSG_GLOBAL_REQUEST=paramiko.server-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp.MSG_GLOBAL_REQUEST=paramiko.sftp-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_attr.MSG_GLOBAL_REQUEST=paramiko.sftp_attr-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_client.MSG_GLOBAL_REQUEST=paramiko.sftp_client-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_file.MSG_GLOBAL_REQUEST=paramiko.sftp_file-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_handle.MSG_GLOBAL_REQUEST=paramiko.sftp_handle-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_server.MSG_GLOBAL_REQUEST=paramiko.sftp_server-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.sftp_si.MSG_GLOBAL_REQUEST=paramiko.sftp_si-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.transport.MSG_GLOBAL_REQUEST=paramiko.transport-module.html#MSG_GLOBAL_REQUEST,Variable paramiko.util.MSG_GLOBAL_REQUEST=paramiko.util-module.html#MSG_GLOBAL_REQUEST"><a title="paramiko.auth_handler.MSG_GLOBAL_REQUEST
-paramiko.channel.MSG_GLOBAL_REQUEST
-paramiko.client.MSG_GLOBAL_REQUEST
-paramiko.common.MSG_GLOBAL_REQUEST
-paramiko.dsskey.MSG_GLOBAL_REQUEST
-paramiko.hostkeys.MSG_GLOBAL_REQUEST
-paramiko.kex_gex.MSG_GLOBAL_REQUEST
-paramiko.kex_group1.MSG_GLOBAL_REQUEST
-paramiko.packet.MSG_GLOBAL_REQUEST
-paramiko.pkey.MSG_GLOBAL_REQUEST
-paramiko.rsakey.MSG_GLOBAL_REQUEST
-paramiko.server.MSG_GLOBAL_REQUEST
-paramiko.sftp.MSG_GLOBAL_REQUEST
-paramiko.sftp_attr.MSG_GLOBAL_REQUEST
-paramiko.sftp_client.MSG_GLOBAL_REQUEST
-paramiko.sftp_file.MSG_GLOBAL_REQUEST
-paramiko.sftp_handle.MSG_GLOBAL_REQUEST
-paramiko.sftp_server.MSG_GLOBAL_REQUEST
-paramiko.sftp_si.MSG_GLOBAL_REQUEST
-paramiko.transport.MSG_GLOBAL_REQUEST
-paramiko.util.MSG_GLOBAL_REQUEST" class="py-name" href="#" onclick="return doclink('link-188', 'MSG_GLOBAL_REQUEST', 'link-188');">MSG_GLOBAL_REQUEST</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-189', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name" targets="Method paramiko.Message.add_boolean()=paramiko.Message-class.html#add_boolean"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-190', 'add_boolean', 'link-190');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">wait</tt><tt class="py-op">)</tt> </tt>
-<a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">data</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name" targets="Method paramiko.HostKeys.add()=paramiko.HostKeys-class.html#add,Method paramiko.Message.add()=paramiko.Message-class.html#add"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-191', 'add', 'link-191');">add</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-192" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-192', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Sending global request "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_user_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L915"></a><tt class="py-lineno"> 915</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">wait</tt><tt class="py-op">:</tt> </tt>
-<a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L920"></a><tt class="py-lineno"> 920</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L922"></a><tt class="py-lineno"> 922</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">global_response</tt> </tt>
-</div><a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"> </tt>
-<a name="Transport.accept"></a><div id="Transport.accept-def"><a name="L925"></a><tt class="py-lineno"> 925</tt> <a class="py-toggle" href="#" id="Transport.accept-toggle" onclick="return toggle('Transport.accept');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#accept">accept</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.accept-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.accept-expanded"><a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"><tt class="py-docstring"> Return the next channel opened by the client over this transport, in</tt> </tt>
-<a name="L928"></a><tt class="py-lineno"> 928</tt> <tt class="py-line"><tt class="py-docstring"> server mode. If no channel is opened before the given timeout, C{None}</tt> </tt>
-<a name="L929"></a><tt class="py-lineno"> 929</tt> <tt class="py-line"><tt class="py-docstring"> is returned.</tt> </tt>
-<a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"><tt class="py-docstring"> @param timeout: seconds to wait for a channel, or C{None} to wait</tt> </tt>
-<a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"><tt class="py-docstring"> forever</tt> </tt>
-<a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"><tt class="py-docstring"> @type timeout: int</tt> </tt>
-<a name="L934"></a><tt class="py-lineno"> 934</tt> <tt class="py-line"><tt class="py-docstring"> @return: a new Channel opened by the client</tt> </tt>
-<a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: L{Channel}</tt> </tt>
-<a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L938"></a><tt class="py-lineno"> 938</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accepts</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accepts</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L941"></a><tt class="py-lineno"> 941</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accept_cv</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accepts</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accepts</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L946"></a><tt class="py-lineno"> 946</tt> <tt class="py-line"> <tt class="py-comment"># timeout</tt> </tt>
-<a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L948"></a><tt class="py-lineno"> 948</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">chan</tt> </tt>
-</div><a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"> </tt>
-<a name="Transport.connect"></a><div id="Transport.connect-def"><a name="L952"></a><tt class="py-lineno"> 952</tt> <a class="py-toggle" href="#" id="Transport.connect-toggle" onclick="return toggle('Transport.connect');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostkey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">pkey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.connect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.connect-expanded"><a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"><tt class="py-docstring"> Negotiate an SSH2 session, and optionally verify the server's host key</tt> </tt>
-<a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"><tt class="py-docstring"> and authenticate using a password or private key. This is a shortcut</tt> </tt>
-<a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"><tt class="py-docstring"> for L{start_client}, L{get_remote_server_key}, and</tt> </tt>
-<a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"><tt class="py-docstring"> L{Transport.auth_password} or L{Transport.auth_publickey}. Use those</tt> </tt>
-<a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"><tt class="py-docstring"> methods if you want more control.</tt> </tt>
-<a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L960"></a><tt class="py-lineno"> 960</tt> <tt class="py-line"><tt class="py-docstring"> You can use this method immediately after creating a Transport to</tt> </tt>
-<a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"><tt class="py-docstring"> negotiate encryption with a server. If it fails, an exception will be</tt> </tt>
-<a name="L962"></a><tt class="py-lineno"> 962</tt> <tt class="py-line"><tt class="py-docstring"> thrown. On success, the method will return cleanly, and an encrypted</tt> </tt>
-<a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"><tt class="py-docstring"> session exists. You may immediately call L{open_channel} or</tt> </tt>
-<a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"><tt class="py-docstring"> L{open_session} to get a L{Channel} object, which is used for data</tt> </tt>
-<a name="L965"></a><tt class="py-lineno"> 965</tt> <tt class="py-line"><tt class="py-docstring"> transfer.</tt> </tt>
-<a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"><tt class="py-docstring"> @note: If you fail to supply a password or private key, this method may</tt> </tt>
-<a name="L968"></a><tt class="py-lineno"> 968</tt> <tt class="py-line"><tt class="py-docstring"> succeed, but a subsequent L{open_channel} or L{open_session} call may</tt> </tt>
-<a name="L969"></a><tt class="py-lineno"> 969</tt> <tt class="py-line"><tt class="py-docstring"> fail because you haven't authenticated yet.</tt> </tt>
-<a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"><tt class="py-docstring"> @param hostkey: the host key expected from the server, or C{None} if</tt> </tt>
-<a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"><tt class="py-docstring"> you don't want to do host key verification.</tt> </tt>
-<a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"><tt class="py-docstring"> @type hostkey: L{PKey&lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username to authenticate as.</tt> </tt>
-<a name="L975"></a><tt class="py-lineno"> 975</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"><tt class="py-docstring"> @param password: a password to use for authentication, if you want to</tt> </tt>
-<a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"><tt class="py-docstring"> use password authentication; otherwise C{None}.</tt> </tt>
-<a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str</tt> </tt>
-<a name="L979"></a><tt class="py-lineno"> 979</tt> <tt class="py-line"><tt class="py-docstring"> @param pkey: a private key to use for authentication, if you want to</tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"><tt class="py-docstring"> use private key authentication; otherwise C{None}.</tt> </tt>
-<a name="L981"></a><tt class="py-lineno"> 981</tt> <tt class="py-line"><tt class="py-docstring"> @type pkey: L{PKey&lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the SSH2 negotiation fails, the host key</tt> </tt>
-<a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"><tt class="py-docstring"> supplied by the server is incorrect, or authentication fails.</tt> </tt>
-<a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hostkey</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-193', '_preferred_keys', 'link-55');">_preferred_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">hostkey</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-194', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"> </tt>
-<a name="L989"></a><tt class="py-lineno"> 989</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name" targets="Method paramiko.Transport.start_client()=paramiko.Transport-class.html#start_client"><a title="paramiko.Transport.start_client" class="py-name" href="#" onclick="return doclink('link-195', 'start_client', 'link-195');">start_client</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L990"></a><tt class="py-lineno"> 990</tt> <tt class="py-line"> </tt>
-<a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"> <tt class="py-comment"># check host key if we were given one</tt> </tt>
-<a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">hostkey</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L993"></a><tt class="py-lineno"> 993</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name" targets="Method paramiko.Transport.get_remote_server_key()=paramiko.Transport-class.html#get_remote_server_key"><a title="paramiko.Transport.get_remote_server_key" class="py-name" href="#" onclick="return doclink('link-196', 'get_remote_server_key', 'link-196');">get_remote_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-197', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">hostkey</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-198', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hostkey</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-199', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Bad host key from server'</tt><tt class="py-op">)</tt> </tt>
-<a name="L996"></a><tt class="py-lineno"> 996</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-200" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-200', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Expected: %s: %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hostkey</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-201', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hostkey</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-202" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-202', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Got : %s: %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-203', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-204" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-204', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Bad host key from server'</tt><tt class="py-op">)</tt> </tt>
-<a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-205" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-205', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Host key verified (%s)'</tt> <tt class="py-op">%</tt> <tt class="py-name">hostkey</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="paramiko.AgentKey.get_name
-paramiko.Channel.get_name
-paramiko.DSSKey.get_name
-paramiko.PKey.get_name
-paramiko.RSAKey.get_name" class="py-name" href="#" onclick="return doclink('link-206', 'get_name', 'link-127');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1000"></a><tt class="py-lineno">1000</tt> <tt class="py-line"> </tt>
-<a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-207" class="py-name" targets="Module paramiko.pkey=paramiko.pkey-module.html"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-207', 'pkey', 'link-207');">pkey</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">password</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">password</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1003"></a><tt class="py-lineno">1003</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-208" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-208', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Attempting password auth...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1004"></a><tt class="py-lineno">1004</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name" targets="Method paramiko.Transport.auth_password()=paramiko.Transport-class.html#auth_password"><a title="paramiko.Transport.auth_password" class="py-name" href="#" onclick="return doclink('link-209', 'auth_password', 'link-209');">auth_password</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1006"></a><tt class="py-lineno">1006</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-210" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-210', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Attempting public-key auth...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1007"></a><tt class="py-lineno">1007</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name" targets="Method paramiko.Transport.auth_publickey()=paramiko.Transport-class.html#auth_publickey"><a title="paramiko.Transport.auth_publickey" class="py-name" href="#" onclick="return doclink('link-211', 'auth_publickey', 'link-211');">auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt id="link-212" class="py-name"><a title="paramiko.pkey" class="py-name" href="#" onclick="return doclink('link-212', 'pkey', 'link-207');">pkey</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1008"></a><tt class="py-lineno">1008</tt> <tt class="py-line"> </tt>
-<a name="L1009"></a><tt class="py-lineno">1009</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L1010"></a><tt class="py-lineno">1010</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_exception"></a><div id="Transport.get_exception-def"><a name="L1011"></a><tt class="py-lineno">1011</tt> <a class="py-toggle" href="#" id="Transport.get_exception-toggle" onclick="return toggle('Transport.get_exception');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_exception">get_exception</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_exception-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_exception-expanded"><a name="L1012"></a><tt class="py-lineno">1012</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1013"></a><tt class="py-lineno">1013</tt> <tt class="py-line"><tt class="py-docstring"> Return any exception that happened during the last server request.</tt> </tt>
-<a name="L1014"></a><tt class="py-lineno">1014</tt> <tt class="py-line"><tt class="py-docstring"> This can be used to fetch more specific error information after using</tt> </tt>
-<a name="L1015"></a><tt class="py-lineno">1015</tt> <tt class="py-line"><tt class="py-docstring"> calls like L{start_client}. The exception (if any) is cleared after</tt> </tt>
-<a name="L1016"></a><tt class="py-lineno">1016</tt> <tt class="py-line"><tt class="py-docstring"> this call.</tt> </tt>
-<a name="L1017"></a><tt class="py-lineno">1017</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"><tt class="py-docstring"> @return: an exception, or C{None} if there is no stored exception.</tt> </tt>
-<a name="L1019"></a><tt class="py-lineno">1019</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: Exception</tt> </tt>
-<a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"> </tt>
-<a name="Transport.set_subsystem_handler"></a><div id="Transport.set_subsystem_handler-def"><a name="L1031"></a><tt class="py-lineno">1031</tt> <a class="py-toggle" href="#" id="Transport.set_subsystem_handler-toggle" onclick="return toggle('Transport.set_subsystem_handler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#set_subsystem_handler">set_subsystem_handler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">larg</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwarg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.set_subsystem_handler-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.set_subsystem_handler-expanded"><a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"><tt class="py-docstring"> Set the handler class for a subsystem in server mode. If a request</tt> </tt>
-<a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"><tt class="py-docstring"> for this subsystem is made on an open ssh channel later, this handler</tt> </tt>
-<a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"><tt class="py-docstring"> will be constructed and called -- see L{SubsystemHandler} for more</tt> </tt>
-<a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"><tt class="py-docstring"> detailed documentation.</tt> </tt>
-<a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"><tt class="py-docstring"> Any extra parameters (including keyword arguments) are saved and</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"><tt class="py-docstring"> passed to the L{SubsystemHandler} constructor later.</tt> </tt>
-<a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1041"></a><tt class="py-lineno">1041</tt> <tt class="py-line"><tt class="py-docstring"> @param name: name of the subsystem.</tt> </tt>
-<a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"><tt class="py-docstring"> @param handler: subclass of L{SubsystemHandler} that handles this</tt> </tt>
-<a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"><tt class="py-docstring"> subsystem.</tt> </tt>
-<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"><tt class="py-docstring"> @type handler: class</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsystem_table</tt><tt class="py-op">[</tt><tt id="link-213" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-213', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">handler</tt><tt class="py-op">,</tt> <tt class="py-name">larg</tt><tt class="py-op">,</tt> <tt class="py-name">kwarg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"> </tt>
-<a name="Transport.is_authenticated"></a><div id="Transport.is_authenticated-def"><a name="L1053"></a><tt class="py-lineno">1053</tt> <a class="py-toggle" href="#" id="Transport.is_authenticated-toggle" onclick="return toggle('Transport.is_authenticated');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#is_authenticated">is_authenticated</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.is_authenticated-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.is_authenticated-expanded"><a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"><tt class="py-docstring"> Return true if this session is active and authenticated.</tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"><tt class="py-docstring"> @return: True if the session is still open and has been authenticated</tt> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"><tt class="py-docstring"> successfully; False if authentication failed and/or the session is</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"><tt class="py-docstring"> closed.</tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-214', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-215', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="paramiko.Transport.is_authenticated" class="py-name" href="#" onclick="return doclink('link-216', 'is_authenticated', 'link-114');">is_authenticated</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_username"></a><div id="Transport.get_username-def"><a name="L1064"></a><tt class="py-lineno">1064</tt> <a class="py-toggle" href="#" id="Transport.get_username-toggle" onclick="return toggle('Transport.get_username');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_username">get_username</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_username-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_username-expanded"><a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"><tt class="py-docstring"> Return the username this connection is authenticated for. If the</tt> </tt>
-<a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"><tt class="py-docstring"> session is not authenticated (or authentication failed), this method</tt> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"><tt class="py-docstring"> returns C{None}.</tt> </tt>
-<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"><tt class="py-docstring"> @return: username that was authenticated, or C{None}.</tt> </tt>
-<a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-217', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-218', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-219" class="py-name" targets="Method paramiko.Transport.get_username()=paramiko.Transport-class.html#get_username"><a title="paramiko.Transport.get_username" class="py-name" href="#" onclick="return doclink('link-219', 'get_username', 'link-219');">get_username</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> </tt>
-<a name="Transport.auth_none"></a><div id="Transport.auth_none-def"><a name="L1077"></a><tt class="py-lineno">1077</tt> <a class="py-toggle" href="#" id="Transport.auth_none-toggle" onclick="return toggle('Transport.auth_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#auth_none">auth_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.auth_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.auth_none-expanded"><a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"><tt class="py-docstring"> Try to authenticate to the server using no authentication at all.</tt> </tt>
-<a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"><tt class="py-docstring"> This will almost always fail. It may be useful for determining the</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"><tt class="py-docstring"> list of authentication types supported by the server, by catching the</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"><tt class="py-docstring"> L{BadAuthenticationType} exception raised.</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username to authenticate as</tt> </tt>
-<a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"><tt class="py-docstring"> @type username: string</tt> </tt>
-<a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of auth types permissible for the next stage of</tt> </tt>
-<a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"><tt class="py-docstring"> authentication (normally empty)</tt> </tt>
-<a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"><tt class="py-docstring"> @raise BadAuthenticationType: if "none" authentication isn't allowed</tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"><tt class="py-docstring"> by the server for this user</tt> </tt>
-<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if the authentication failed due to a network</tt> </tt>
-<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"><tt class="py-docstring"> error</tt> </tt>
-<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5</tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-220" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-220', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No existing session'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"> <tt class="py-name">my_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-221', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">AuthHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-222', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name" targets="Method paramiko.Transport.auth_none()=paramiko.Transport-class.html#auth_none"><a title="paramiko.Transport.auth_none" class="py-name" href="#" onclick="return doclink('link-223', 'auth_none', 'link-223');">auth_none</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-224', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt class="py-name">wait_for_response</tt><tt class="py-op">(</tt><tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"> </tt>
-<a name="Transport.auth_password"></a><div id="Transport.auth_password-def"><a name="L1104"></a><tt class="py-lineno">1104</tt> <a class="py-toggle" href="#" id="Transport.auth_password-toggle" onclick="return toggle('Transport.auth_password');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#auth_password">auth_password</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">fallback</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.auth_password-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.auth_password-expanded"><a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"><tt class="py-docstring"> Authenticate to the server using a password. The username and password</tt> </tt>
-<a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"><tt class="py-docstring"> are sent over an encrypted link.</tt> </tt>
-<a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"><tt class="py-docstring"> If an C{event} is passed in, this method will return immediately, and</tt> </tt>
-<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"><tt class="py-docstring"> the event will be triggered once authentication succeeds or fails. On</tt> </tt>
-<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"><tt class="py-docstring"> success, L{is_authenticated} will return C{True}. On failure, you may</tt> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"><tt class="py-docstring"> use L{get_exception} to get more detailed error information.</tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"><tt class="py-docstring"> Since 1.1, if no event is passed, this method will block until the</tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"><tt class="py-docstring"> authentication succeeds or fails. On failure, an exception is raised.</tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"><tt class="py-docstring"> Otherwise, the method simply returns.</tt> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"><tt class="py-docstring"> Since 1.5, if no event is passed and C{fallback} is C{True} (the</tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"><tt class="py-docstring"> default), if the server doesn't support plain password authentication</tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"><tt class="py-docstring"> but does support so-called "keyboard-interactive" mode, an attempt</tt> </tt>
-<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"><tt class="py-docstring"> will be made to authenticate using this interactive mode. If it fails,</tt> </tt>
-<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"><tt class="py-docstring"> the normal exception will be thrown as if the attempt had never been</tt> </tt>
-<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"><tt class="py-docstring"> made. This is useful for some recent Gentoo and Debian distributions,</tt> </tt>
-<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"><tt class="py-docstring"> which turn off plain password authentication in a misguided belief</tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"><tt class="py-docstring"> that interactive authentication is "more secure". (It's not.)</tt> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"><tt class="py-docstring"> If the server requires multi-step authentication (which is very rare),</tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"><tt class="py-docstring"> this method will return a list of auth types permissible for the next</tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"><tt class="py-docstring"> step. Otherwise, in the normal case, an empty list is returned.</tt> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username to authenticate as</tt> </tt>
-<a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"><tt class="py-docstring"> @type username: str</tt> </tt>
-<a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"><tt class="py-docstring"> @param password: the password to authenticate with</tt> </tt>
-<a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"><tt class="py-docstring"> @type password: str or unicode</tt> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"><tt class="py-docstring"> @param event: an event to trigger when the authentication attempt is</tt> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"><tt class="py-docstring"> complete (whether it was successful or not)</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"><tt class="py-docstring"> @type event: threading.Event</tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"><tt class="py-docstring"> @param fallback: C{True} if an attempt at an automated "interactive"</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"><tt class="py-docstring"> password auth should be made if the server doesn't support normal</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"><tt class="py-docstring"> password auth</tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"><tt class="py-docstring"> @type fallback: bool</tt> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of auth types permissible for the next stage of</tt> </tt>
-<a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"><tt class="py-docstring"> authentication (normally empty)</tt> </tt>
-<a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list</tt> </tt>
-<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"><tt class="py-docstring"> @raise BadAuthenticationType: if password authentication isn't</tt> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"><tt class="py-docstring"> allowed by the server for this user (and no event was passed in)</tt> </tt>
-<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"><tt class="py-docstring"> @raise AuthenticationException: if the authentication failed (and no</tt> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"><tt class="py-docstring"> event was passed in)</tt> </tt>
-<a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if there was a network error</tt> </tt>
-<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"> <tt class="py-comment"># we should never try to send the password unless we're on a secure link</tt> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-225" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-225', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No existing session'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"> <tt class="py-name">my_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"> <tt class="py-name">my_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-226', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">AuthHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-227', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="paramiko.Transport.auth_password" class="py-name" href="#" onclick="return doclink('link-228', 'auth_password', 'link-209');">auth_password</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">,</tt> <tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-<a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"> <tt class="py-comment"># caller wants to wait for event themselves</tt> </tt>
-<a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-229', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt class="py-name">wait_for_response</tt><tt class="py-op">(</tt><tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-230" class="py-name"><a title="paramiko.BadAuthenticationType" class="py-name" href="#" onclick="return doclink('link-230', 'BadAuthenticationType', 'link-43');">BadAuthenticationType</a></tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"> <tt class="py-comment"># if password auth isn't allowed, but keyboard-interactive *is*, try to fudge it</tt> </tt>
-<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">fallback</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-string">'keyboard-interactive'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name" targets="Variable paramiko.BadAuthenticationType.allowed_types=paramiko.BadAuthenticationType-class.html#allowed_types,Variable paramiko.ssh_exception.PartialAuthentication.allowed_types=paramiko.ssh_exception.PartialAuthentication-class.html#allowed_types"><a title="paramiko.BadAuthenticationType.allowed_types
-paramiko.ssh_exception.PartialAuthentication.allowed_types" class="py-name" href="#" onclick="return doclink('link-231', 'allowed_types', 'link-231');">allowed_types</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> </tt>
-<a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">handler</tt><tt class="py-op">(</tt><tt class="py-param">title</tt><tt class="py-op">,</tt> <tt class="py-param">instructions</tt><tt class="py-op">,</tt> <tt class="py-param">fields</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">fields</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-232" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-232', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Fallback authentication failed.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">fields</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"> <tt class="py-comment"># for some reason, at least on os x, a 2nd request will</tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"> <tt class="py-comment"># be made with zero fields requested. maybe it's just</tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"> <tt class="py-comment"># to try to fake out automated scripting of the exact</tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"> <tt class="py-comment"># type we're doing here. *shrug* :)</tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt> <tt class="py-name">password</tt> <tt class="py-op">]</tt> </tt>
-</div><a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name" targets="Method paramiko.Transport.auth_interactive()=paramiko.Transport-class.html#auth_interactive"><a title="paramiko.Transport.auth_interactive" class="py-name" href="#" onclick="return doclink('link-233', 'auth_interactive', 'link-233');">auth_interactive</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-234" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-234', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignored</tt><tt class="py-op">:</tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"> <tt class="py-comment"># attempt failed; just raise the original exception</tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">x</tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"> </tt>
-<a name="Transport.auth_publickey"></a><div id="Transport.auth_publickey-def"><a name="L1187"></a><tt class="py-lineno">1187</tt> <a class="py-toggle" href="#" id="Transport.auth_publickey-toggle" onclick="return toggle('Transport.auth_publickey');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#auth_publickey">auth_publickey</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.auth_publickey-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.auth_publickey-expanded"><a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"><tt class="py-docstring"> Authenticate to the server using a private key. The key is used to</tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"><tt class="py-docstring"> sign data from the server, so it must include the private part.</tt> </tt>
-<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-docstring"> If an C{event} is passed in, this method will return immediately, and</tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-docstring"> the event will be triggered once authentication succeeds or fails. On</tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"><tt class="py-docstring"> success, L{is_authenticated} will return C{True}. On failure, you may</tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"><tt class="py-docstring"> use L{get_exception} to get more detailed error information.</tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"><tt class="py-docstring"> Since 1.1, if no event is passed, this method will block until the</tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"><tt class="py-docstring"> authentication succeeds or fails. On failure, an exception is raised.</tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"><tt class="py-docstring"> Otherwise, the method simply returns.</tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"><tt class="py-docstring"> If the server requires multi-step authentication (which is very rare),</tt> </tt>
-<a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"><tt class="py-docstring"> this method will return a list of auth types permissible for the next</tt> </tt>
-<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"><tt class="py-docstring"> step. Otherwise, in the normal case, an empty list is returned.</tt> </tt>
-<a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username to authenticate as</tt> </tt>
-<a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"><tt class="py-docstring"> @type username: string</tt> </tt>
-<a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"><tt class="py-docstring"> @param key: the private key to authenticate with</tt> </tt>
-<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"><tt class="py-docstring"> @type key: L{PKey &lt;pkey.PKey&gt;}</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"><tt class="py-docstring"> @param event: an event to trigger when the authentication attempt is</tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"><tt class="py-docstring"> complete (whether it was successful or not)</tt> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"><tt class="py-docstring"> @type event: threading.Event</tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of auth types permissible for the next stage of</tt> </tt>
-<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"><tt class="py-docstring"> authentication (normally empty)</tt> </tt>
-<a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list</tt> </tt>
-<a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"><tt class="py-docstring"> @raise BadAuthenticationType: if public-key authentication isn't</tt> </tt>
-<a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"><tt class="py-docstring"> allowed by the server for this user (and no event was passed in)</tt> </tt>
-<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"><tt class="py-docstring"> @raise AuthenticationException: if the authentication failed (and no</tt> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"><tt class="py-docstring"> event was passed in)</tt> </tt>
-<a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if there was a network error</tt> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"> <tt class="py-comment"># we should never try to authenticate unless we're on a secure link</tt> </tt>
-<a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-235" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-235', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No existing session'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"> <tt class="py-name">my_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"> <tt class="py-name">my_event</tt> <tt class="py-op">=</tt> <tt class="py-name">event</tt> </tt>
-<a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-236', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">AuthHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-237', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="paramiko.Transport.auth_publickey" class="py-name" href="#" onclick="return doclink('link-238', 'auth_publickey', 'link-211');">auth_publickey</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-<a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"> <tt class="py-comment"># caller wants to wait for event themselves</tt> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-239', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt class="py-name">wait_for_response</tt><tt class="py-op">(</tt><tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"> </tt>
-<a name="Transport.auth_interactive"></a><div id="Transport.auth_interactive-def"><a name="L1236"></a><tt class="py-lineno">1236</tt> <a class="py-toggle" href="#" id="Transport.auth_interactive-toggle" onclick="return toggle('Transport.auth_interactive');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#auth_interactive">auth_interactive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">username</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">,</tt> <tt class="py-param">submethods</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.auth_interactive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.auth_interactive-expanded"><a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"><tt class="py-docstring"> Authenticate to the server interactively. A handler is used to answer</tt> </tt>
-<a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"><tt class="py-docstring"> arbitrary questions from the server. On many servers, this is just a</tt> </tt>
-<a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"><tt class="py-docstring"> dumb wrapper around PAM.</tt> </tt>
-<a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"><tt class="py-docstring"> This method will block until the authentication succeeds or fails,</tt> </tt>
-<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"><tt class="py-docstring"> peroidically calling the handler asynchronously to get answers to</tt> </tt>
-<a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"><tt class="py-docstring"> authentication questions. The handler may be called more than once</tt> </tt>
-<a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"><tt class="py-docstring"> if the server continues to ask questions.</tt> </tt>
-<a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"><tt class="py-docstring"> The handler is expected to be a callable that will handle calls of the</tt> </tt>
-<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"><tt class="py-docstring"> form: C{handler(title, instructions, prompt_list)}. The C{title} is</tt> </tt>
-<a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"><tt class="py-docstring"> meant to be a dialog-window title, and the C{instructions} are user</tt> </tt>
-<a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"><tt class="py-docstring"> instructions (both are strings). C{prompt_list} will be a list of</tt> </tt>
-<a name="L1251"></a><tt class="py-lineno">1251</tt> <tt class="py-line"><tt class="py-docstring"> prompts, each prompt being a tuple of C{(str, bool)}. The string is</tt> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"><tt class="py-docstring"> the prompt and the boolean indicates whether the user text should be</tt> </tt>
-<a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"><tt class="py-docstring"> echoed.</tt> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"><tt class="py-docstring"> A sample call would thus be:</tt> </tt>
-<a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"><tt class="py-docstring"> C{handler('title', 'instructions', [('Password:', False)])}.</tt> </tt>
-<a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"><tt class="py-docstring"> The handler should return a list or tuple of answers to the server's</tt> </tt>
-<a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"><tt class="py-docstring"> questions.</tt> </tt>
-<a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"><tt class="py-docstring"> If the server requires multi-step authentication (which is very rare),</tt> </tt>
-<a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"><tt class="py-docstring"> this method will return a list of auth types permissible for the next</tt> </tt>
-<a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"><tt class="py-docstring"> step. Otherwise, in the normal case, an empty list is returned.</tt> </tt>
-<a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"><tt class="py-docstring"> @param username: the username to authenticate as</tt> </tt>
-<a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"><tt class="py-docstring"> @type username: string</tt> </tt>
-<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"><tt class="py-docstring"> @param handler: a handler for responding to server questions</tt> </tt>
-<a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"><tt class="py-docstring"> @type handler: callable</tt> </tt>
-<a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"><tt class="py-docstring"> @param submethods: a string list of desired submethods (optional)</tt> </tt>
-<a name="L1270"></a><tt class="py-lineno">1270</tt> <tt class="py-line"><tt class="py-docstring"> @type submethods: str</tt> </tt>
-<a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"><tt class="py-docstring"> @return: list of auth types permissible for the next stage of</tt> </tt>
-<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"><tt class="py-docstring"> authentication (normally empty).</tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: list</tt> </tt>
-<a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"><tt class="py-docstring"> @raise BadAuthenticationType: if public-key authentication isn't</tt> </tt>
-<a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"><tt class="py-docstring"> allowed by the server for this user</tt> </tt>
-<a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"><tt class="py-docstring"> @raise AuthenticationException: if the authentication failed</tt> </tt>
-<a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"><tt class="py-docstring"> @raise SSHException: if there was a network error</tt> </tt>
-<a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5</tt> </tt>
-<a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"> <tt class="py-comment"># we should never try to authenticate unless we're on a secure link</tt> </tt>
-<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-240" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-240', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'No existing session'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"> <tt class="py-name">my_event</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-241', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">AuthHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1287"></a><tt class="py-lineno">1287</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-242', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="paramiko.Transport.auth_interactive" class="py-name" href="#" onclick="return doclink('link-243', 'auth_interactive', 'link-233');">auth_interactive</a></tt><tt class="py-op">(</tt><tt class="py-name">username</tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">,</tt> <tt class="py-name">my_event</tt><tt class="py-op">,</tt> <tt class="py-name">submethods</tt><tt class="py-op">)</tt> </tt>
-<a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-244', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt class="py-name">wait_for_response</tt><tt class="py-op">(</tt><tt class="py-name">my_event</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"> </tt>
-<a name="Transport.set_log_channel"></a><div id="Transport.set_log_channel-def"><a name="L1290"></a><tt class="py-lineno">1290</tt> <a class="py-toggle" href="#" id="Transport.set_log_channel-toggle" onclick="return toggle('Transport.set_log_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#set_log_channel">set_log_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.set_log_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.set_log_channel-expanded"><a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"><tt class="py-docstring"> Set the channel for this transport's logging. The default is</tt> </tt>
-<a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"><tt class="py-docstring"> C{"paramiko.transport"} but it can be set to anything you want.</tt> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"><tt class="py-docstring"> (See the C{logging} module for more info.) SSH Channels will log</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"><tt class="py-docstring"> to a sub-channel of the one specified.</tt> </tt>
-<a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"><tt class="py-docstring"> @param name: new channel name for logging</tt> </tt>
-<a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"><tt class="py-docstring"> @type name: str</tt> </tt>
-<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.1</tt> </tt>
-<a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_name</tt> <tt class="py-op">=</tt> <tt id="link-245" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-245', 'name', 'link-60');">name</a></tt> </tt>
-<a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-246', 'logger', 'link-108');">logger</a></tt> <tt class="py-op">=</tt> <tt id="link-247" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-247', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="paramiko.util.get_logger" class="py-name" href="#" onclick="return doclink('link-248', 'get_logger', 'link-110');">get_logger</a></tt><tt class="py-op">(</tt><tt id="link-249" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-249', 'name', 'link-60');">name</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_log</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-250', 'logger', 'link-108');">logger</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_log_channel"></a><div id="Transport.get_log_channel-def"><a name="L1306"></a><tt class="py-lineno">1306</tt> <a class="py-toggle" href="#" id="Transport.get_log_channel-toggle" onclick="return toggle('Transport.get_log_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_log_channel">get_log_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_log_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_log_channel-expanded"><a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"><tt class="py-docstring"> Return the channel name used for this transport's logging.</tt> </tt>
-<a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1310"></a><tt class="py-lineno">1310</tt> <tt class="py-line"><tt class="py-docstring"> @return: channel name.</tt> </tt>
-<a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: str</tt> </tt>
-<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.2</tt> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_name</tt> </tt>
-</div><a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"> </tt>
-<a name="Transport.set_hexdump"></a><div id="Transport.set_hexdump-def"><a name="L1317"></a><tt class="py-lineno">1317</tt> <a class="py-toggle" href="#" id="Transport.set_hexdump-toggle" onclick="return toggle('Transport.set_hexdump');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#set_hexdump">set_hexdump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hexdump</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.set_hexdump-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.set_hexdump-expanded"><a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"><tt class="py-docstring"> Turn on/off logging a hex dump of protocol traffic at DEBUG level in</tt> </tt>
-<a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"><tt class="py-docstring"> the logs. Normally you would want this off (which is the default),</tt> </tt>
-<a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"><tt class="py-docstring"> but if you are debugging something, it may be useful.</tt> </tt>
-<a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"><tt class="py-docstring"> @param hexdump: C{True} to log protocol traffix (in hex) to the log;</tt> </tt>
-<a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"><tt class="py-docstring"> C{False} otherwise.</tt> </tt>
-<a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"><tt class="py-docstring"> @type hexdump: bool</tt> </tt>
-<a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name" targets="Method paramiko.Transport.set_hexdump()=paramiko.Transport-class.html#set_hexdump"><a title="paramiko.Transport.set_hexdump" class="py-name" href="#" onclick="return doclink('link-251', 'set_hexdump', 'link-251');">set_hexdump</a></tt><tt class="py-op">(</tt><tt class="py-name">hexdump</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"> </tt>
-<a name="Transport.get_hexdump"></a><div id="Transport.get_hexdump-def"><a name="L1329"></a><tt class="py-lineno">1329</tt> <a class="py-toggle" href="#" id="Transport.get_hexdump-toggle" onclick="return toggle('Transport.get_hexdump');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#get_hexdump">get_hexdump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.get_hexdump-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.get_hexdump-expanded"><a name="L1330"></a><tt class="py-lineno">1330</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"><tt class="py-docstring"> Return C{True} if the transport is currently logging hex dumps of</tt> </tt>
-<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"><tt class="py-docstring"> protocol traffic.</tt> </tt>
-<a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"><tt class="py-docstring"> @return: C{True} if hex dumps are being logged</tt> </tt>
-<a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: bool</tt> </tt>
-<a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.4</tt> </tt>
-<a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name" targets="Method paramiko.Transport.get_hexdump()=paramiko.Transport-class.html#get_hexdump"><a title="paramiko.Transport.get_hexdump" class="py-name" href="#" onclick="return doclink('link-252', 'get_hexdump', 'link-252');">get_hexdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"> </tt>
-<a name="Transport.use_compression"></a><div id="Transport.use_compression-def"><a name="L1341"></a><tt class="py-lineno">1341</tt> <a class="py-toggle" href="#" id="Transport.use_compression-toggle" onclick="return toggle('Transport.use_compression');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#use_compression">use_compression</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">compress</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.use_compression-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.use_compression-expanded"><a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1343"></a><tt class="py-lineno">1343</tt> <tt class="py-line"><tt class="py-docstring"> Turn on/off compression. This will only have an affect before starting</tt> </tt>
-<a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"><tt class="py-docstring"> the transport (ie before calling L{connect}, etc). By default,</tt> </tt>
-<a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"><tt class="py-docstring"> compression is off since it negatively affects interactive sessions.</tt> </tt>
-<a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"><tt class="py-docstring"> @param compress: C{True} to ask the remote client/server to compress</tt> </tt>
-<a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"><tt class="py-docstring"> traffic; C{False} to refuse compression</tt> </tt>
-<a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"><tt class="py-docstring"> @type compress: bool</tt> </tt>
-<a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"><tt class="py-docstring"> @since: 1.5.2</tt> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-253" class="py-name"><a title="paramiko.compress" class="py-name" href="#" onclick="return doclink('link-253', 'compress', 'link-10');">compress</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-254', '_preferred_compression', 'link-57');">_preferred_compression</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'zlib@openssh.com'</tt><tt class="py-op">,</tt> <tt class="py-string">'zlib'</tt><tt class="py-op">,</tt> <tt class="py-string">'none'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-255', '_preferred_compression', 'link-57');">_preferred_compression</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">'none'</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"> </tt>
-<a name="Transport.getpeername"></a><div id="Transport.getpeername-def"><a name="L1358"></a><tt class="py-lineno">1358</tt> <a class="py-toggle" href="#" id="Transport.getpeername-toggle" onclick="return toggle('Transport.getpeername');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#getpeername">getpeername</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.getpeername-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.getpeername-expanded"><a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"><tt class="py-docstring"> Return the address of the remote side of this Transport, if possible.</tt> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"><tt class="py-docstring"> This is effectively a wrapper around C{'getpeername'} on the underlying</tt> </tt>
-<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"><tt class="py-docstring"> socket. If the socket-like object has no C{'getpeername'} method,</tt> </tt>
-<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"><tt class="py-docstring"> then C{("unknown", 0)} is returned.</tt> </tt>
-<a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"><tt class="py-docstring"> @return: the address if the remote host, if known</tt> </tt>
-<a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: tuple(str, int)</tt> </tt>
-<a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"> <tt class="py-name">gp</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">,</tt> <tt class="py-string">'getpeername'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">gp</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-string">'unknown'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">gp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> </tt>
-<a name="Transport.stop_thread"></a><div id="Transport.stop_thread-def"><a name="L1373"></a><tt class="py-lineno">1373</tt> <a class="py-toggle" href="#" id="Transport.stop_thread-toggle" onclick="return toggle('Transport.stop_thread');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#stop_thread">stop_thread</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.stop_thread-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.stop_thread-expanded"><a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-256', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> </tt>
-<a name="L1377"></a><tt class="py-lineno">1377</tt> <tt class="py-line"> </tt>
-<a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-comment">### internals...</tt> </tt>
-<a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> </tt>
-<a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"> </tt>
-<a name="Transport._log"></a><div id="Transport._log-def"><a name="L1381"></a><tt class="py-lineno">1381</tt> <a class="py-toggle" href="#" id="Transport._log-toggle" onclick="return toggle('Transport._log');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_log">_log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">,</tt> <tt class="py-param">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._log-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._log-expanded"><a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">issubclass</tt><tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">msg</tt><tt class="py-op">:</tt> </tt>
-<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-257', 'logger', 'link-108');">logger</a></tt><tt class="py-op">.</tt><tt id="link-258" class="py-name" targets="Method paramiko.logging22.logger.log()=paramiko.logging22.logger-class.html#log"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-258', 'log', 'link-258');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="paramiko.logging22.logger" class="py-name" href="#" onclick="return doclink('link-259', 'logger', 'link-108');">logger</a></tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="paramiko.logging22.logger.log" class="py-name" href="#" onclick="return doclink('link-260', 'log', 'link-258');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1387"></a><tt class="py-lineno">1387</tt> <tt class="py-line"> </tt>
-<a name="Transport._get_modulus_pack"></a><div id="Transport._get_modulus_pack-def"><a name="L1388"></a><tt class="py-lineno">1388</tt> <a class="py-toggle" href="#" id="Transport._get_modulus_pack-toggle" onclick="return toggle('Transport._get_modulus_pack');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_get_modulus_pack">_get_modulus_pack</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._get_modulus_pack-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._get_modulus_pack-expanded"><a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> <tt class="py-docstring">"used by KexGex to find primes for group exchange"</tt> </tt>
-<a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="paramiko.Transport._modulus_pack" class="py-name" href="#" onclick="return doclink('link-261', '_modulus_pack', 'link-98');">_modulus_pack</a></tt> </tt>
-</div><a name="L1391"></a><tt class="py-lineno">1391</tt> <tt class="py-line"> </tt>
-<a name="Transport._next_channel"></a><div id="Transport._next_channel-def"><a name="L1392"></a><tt class="py-lineno">1392</tt> <a class="py-toggle" href="#" id="Transport._next_channel-toggle" onclick="return toggle('Transport._next_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_next_channel">_next_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._next_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._next_channel-expanded"><a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"> <tt class="py-docstring">"you are holding the lock"</tt> </tt>
-<a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> </tt>
-<a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-262', 'get', 'link-76');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffff</tt> </tt>
-<a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> </tt>
-<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channel_counter</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffff</tt> </tt>
-<a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">chanid</tt> </tt>
-</div><a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"> </tt>
-<a name="Transport._unlink_channel"></a><div id="Transport._unlink_channel-def"><a name="L1401"></a><tt class="py-lineno">1401</tt> <a class="py-toggle" href="#" id="Transport._unlink_channel-toggle" onclick="return toggle('Transport._unlink_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_unlink_channel">_unlink_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">chanid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._unlink_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._unlink_channel-expanded"><a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"> <tt class="py-docstring">"used by a Channel to remove itself from the active channel list"</tt> </tt>
-<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name" targets="Method paramiko.transport.ChannelMap.delete()=paramiko.transport.ChannelMap-class.html#delete"><a title="paramiko.transport.ChannelMap.delete" class="py-name" href="#" onclick="return doclink('link-263', 'delete', 'link-263');">delete</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"> </tt>
-<a name="Transport._send_message"></a><div id="Transport._send_message-def"><a name="L1405"></a><tt class="py-lineno">1405</tt> <a class="py-toggle" href="#" id="Transport._send_message-toggle" onclick="return toggle('Transport._send_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_send_message">_send_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._send_message-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._send_message-expanded"><a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">send_message</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"> </tt>
-<a name="Transport._send_user_message"></a><div id="Transport._send_user_message-def"><a name="L1408"></a><tt class="py-lineno">1408</tt> <a class="py-toggle" href="#" id="Transport._send_user_message-toggle" onclick="return toggle('Transport._send_user_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_send_user_message">_send_user_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._send_user_message-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._send_user_message-expanded"><a name="L1409"></a><tt class="py-lineno">1409</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"><tt class="py-docstring"> send a message, but block if we're in key negotiation. this is used</tt> </tt>
-<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"><tt class="py-docstring"> for user-initiated requests.</tt> </tt>
-<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"> <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L1415"></a><tt class="py-lineno">1415</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-number">0.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L1417"></a><tt class="py-lineno">1417</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-264" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-264', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Dropping user packet because connection is dead.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1420"></a><tt class="py-lineno">1420</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">start</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_timeout</tt><tt class="py-op">:</tt> </tt>
-<a name="L1424"></a><tt class="py-lineno">1424</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-265" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-265', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Key-exchange timed out waiting for key negotiation'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"> </tt>
-<a name="Transport._set_K_H"></a><div id="Transport._set_K_H-def"><a name="L1430"></a><tt class="py-lineno">1430</tt> <a class="py-toggle" href="#" id="Transport._set_K_H-toggle" onclick="return toggle('Transport._set_K_H');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_set_K_H">_set_K_H</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">k</tt><tt class="py-op">,</tt> <tt class="py-param">h</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._set_K_H-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._set_K_H-expanded"><a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"> <tt class="py-docstring">"used by a kex object to set the K (root key) and H (exchange hash)"</tt> </tt>
-<a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt> </tt>
-<a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">H</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> </tt>
-<a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_id</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_id</tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> </tt>
-</div><a name="L1436"></a><tt class="py-lineno">1436</tt> <tt class="py-line"> </tt>
-<a name="Transport._expect_packet"></a><div id="Transport._expect_packet-def"><a name="L1437"></a><tt class="py-lineno">1437</tt> <a class="py-toggle" href="#" id="Transport._expect_packet-toggle" onclick="return toggle('Transport._expect_packet');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_expect_packet">_expect_packet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">ptypes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._expect_packet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._expect_packet-expanded"><a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"> <tt class="py-docstring">"used by a kex object to register the next packet type it expects to see"</tt> </tt>
-<a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expected_packet</tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">ptypes</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"> </tt>
-<a name="Transport._verify_key"></a><div id="Transport._verify_key-def"><a name="L1441"></a><tt class="py-lineno">1441</tt> <a class="py-toggle" href="#" id="Transport._verify_key-toggle" onclick="return toggle('Transport._verify_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_verify_key">_verify_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host_key</tt><tt class="py-op">,</tt> <tt class="py-param">sig</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._verify_key-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._verify_key-expanded"><a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="paramiko.Transport._key_info" class="py-name" href="#" onclick="return doclink('link-266', '_key_info', 'link-87');">_key_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key_type</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt id="link-267" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-267', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">host_key</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-268" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-268', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown host key type'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1445"></a><tt class="py-lineno">1445</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name" targets="Method paramiko.DSSKey.verify_ssh_sig()=paramiko.DSSKey-class.html#verify_ssh_sig,Method paramiko.PKey.verify_ssh_sig()=paramiko.PKey-class.html#verify_ssh_sig,Method paramiko.RSAKey.verify_ssh_sig()=paramiko.RSAKey-class.html#verify_ssh_sig"><a title="paramiko.DSSKey.verify_ssh_sig
-paramiko.PKey.verify_ssh_sig
-paramiko.RSAKey.verify_ssh_sig" class="py-name" href="#" onclick="return doclink('link-269', 'verify_ssh_sig', 'link-269');">verify_ssh_sig</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">H</tt><tt class="py-op">,</tt> <tt id="link-270" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-270', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-271" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-271', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Signature verification (%s) failed.'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt> </tt>
-</div><a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"> </tt>
-<a name="Transport._compute_key"></a><div id="Transport._compute_key-def"><a name="L1449"></a><tt class="py-lineno">1449</tt> <a class="py-toggle" href="#" id="Transport._compute_key-toggle" onclick="return toggle('Transport._compute_key');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_compute_key">_compute_key</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">nbytes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._compute_key-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._compute_key-expanded"><a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"> <tt class="py-docstring">"id is 'A' - 'F' for the various keys used by ssh"</tt> </tt>
-<a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-272" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-272', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name" targets="Method paramiko.Message.add_mpint()=paramiko.Message-class.html#add_mpint"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-273', 'add_mpint', 'link-273');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">K</tt><tt class="py-op">)</tt> </tt>
-<a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-274', 'add_bytes', 'link-179');">add_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">H</tt><tt class="py-op">)</tt> </tt>
-<a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-275', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-276', 'add_bytes', 'link-179');">add_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">sofar</tt> <tt class="py-op">=</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-277', 'new', 'link-277');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">nbytes</tt><tt class="py-op">:</tt> </tt>
-<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-278', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="paramiko.Message.add_mpint" class="py-name" href="#" onclick="return doclink('link-279', 'add_mpint', 'link-273');">add_mpint</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">K</tt><tt class="py-op">)</tt> </tt>
-<a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-280', 'add_bytes', 'link-179');">add_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">H</tt><tt class="py-op">)</tt> </tt>
-<a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-281', 'add_bytes', 'link-179');">add_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">sofar</tt><tt class="py-op">)</tt> </tt>
-<a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"> <tt class="py-name">digest</tt> <tt class="py-op">=</tt> <tt class="py-name">SHA</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-282', 'new', 'link-277');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">digest</tt> </tt>
-<a name="L1464"></a><tt class="py-lineno">1464</tt> <tt class="py-line"> <tt class="py-name">sofar</tt> <tt class="py-op">+=</tt> <tt class="py-name">digest</tt> </tt>
-<a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">nbytes</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"> </tt>
-<a name="Transport._get_cipher"></a><div id="Transport._get_cipher-def"><a name="L1467"></a><tt class="py-lineno">1467</tt> <a class="py-toggle" href="#" id="Transport._get_cipher-toggle" onclick="return toggle('Transport._get_cipher');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_get_cipher">_get_cipher</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">iv</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._get_cipher-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._get_cipher-expanded"><a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-283" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-283', 'name', 'link-60');">name</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-284', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1469"></a><tt class="py-lineno">1469</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-285" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-285', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown client cipher '</tt> <tt class="py-op">+</tt> <tt id="link-286" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-286', 'name', 'link-60');">name</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-287" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-287', 'name', 'link-60');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'arcfour128'</tt><tt class="py-op">,</tt> <tt class="py-string">'arcfour256'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"> <tt class="py-comment"># arcfour cipher</tt> </tt>
-<a name="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"> <tt class="py-name">cipher</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-288', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt id="link-289" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-289', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-290', 'new', 'link-277');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"> <tt class="py-comment"># as per RFC 4345, the first 1536 bytes of keystream</tt> </tt>
-<a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"> <tt class="py-comment"># generated by the cipher MUST be discarded</tt> </tt>
-<a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"> <tt class="py-name">cipher</tt><tt class="py-op">.</tt><tt class="py-name">encrypt</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">1536</tt><tt class="py-op">)</tt> </tt>
-<a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cipher</tt> </tt>
-<a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-291" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-291', 'name', 'link-60');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">"-ctr"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1478"></a><tt class="py-lineno">1478</tt> <tt class="py-line"> <tt class="py-comment"># CTR modes, we need a counter</tt> </tt>
-<a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"> <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt id="link-292" class="py-name"><a title="paramiko.util.Counter" class="py-name" href="#" onclick="return doclink('link-292', 'Counter', 'link-45');">Counter</a></tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-293', 'new', 'link-277');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">nbits</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-294', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt id="link-295" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-295', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'block-size'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">initial_value</tt><tt class="py-op">=</tt><tt id="link-296" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-296', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-297" class="py-name" targets="Function paramiko.util.inflate_long()=paramiko.util-module.html#inflate_long"><a title="paramiko.util.inflate_long" class="py-name" href="#" onclick="return doclink('link-297', 'inflate_long', 'link-297');">inflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">iv</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-298', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt id="link-299" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-299', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-300', 'new', 'link-277');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-301', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt id="link-302" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-302', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'mode'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">iv</tt><tt class="py-op">,</tt> <tt class="py-name">counter</tt><tt class="py-op">)</tt> </tt>
-<a name="L1481"></a><tt class="py-lineno">1481</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1482"></a><tt class="py-lineno">1482</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-303', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt id="link-304" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-304', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-305', 'new', 'link-277');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-306', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt id="link-307" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-307', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'mode'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">iv</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1483"></a><tt class="py-lineno">1483</tt> <tt class="py-line"> </tt>
-<a name="Transport._set_x11_handler"></a><div id="Transport._set_x11_handler-def"><a name="L1484"></a><tt class="py-lineno">1484</tt> <a class="py-toggle" href="#" id="Transport._set_x11_handler-toggle" onclick="return toggle('Transport._set_x11_handler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_set_x11_handler">_set_x11_handler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._set_x11_handler-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._set_x11_handler-expanded"><a name="L1485"></a><tt class="py-lineno">1485</tt> <tt class="py-line"> <tt class="py-comment"># only called if a channel has turned on x11 forwarding</tt> </tt>
-<a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">handler</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"> <tt class="py-comment"># by default, use the same mechanism as accept()</tt> </tt>
-<a name="L1488"></a><tt class="py-lineno">1488</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">default_handler</tt><tt class="py-op">(</tt><tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-param">src_addr</tt><tt class="py-op">,</tt> <tt class="py-param">src_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_queue_incoming_channel</tt><tt class="py-op">(</tt><tt id="link-308" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-308', 'channel', 'link-5');">channel</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x11_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">default_handler</tt> </tt>
-<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x11_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt> </tt>
-</div><a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"> </tt>
-<a name="Transport._queue_incoming_channel"></a><div id="Transport._queue_incoming_channel-def"><a name="L1494"></a><tt class="py-lineno">1494</tt> <a class="py-toggle" href="#" id="Transport._queue_incoming_channel-toggle" onclick="return toggle('Transport._queue_incoming_channel');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_queue_incoming_channel">_queue_incoming_channel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._queue_incoming_channel-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._queue_incoming_channel-expanded"><a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accepts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-309" class="py-name"><a title="paramiko.channel" class="py-name" href="#" onclick="return doclink('link-309', 'channel', 'link-5');">channel</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accept_cv</tt><tt class="py-op">.</tt><tt class="py-name">notify</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"> </tt>
-<a name="Transport.run"></a><div id="Transport.run-def"><a name="L1502"></a><tt class="py-lineno">1502</tt> <a class="py-toggle" href="#" id="Transport.run-toggle" onclick="return toggle('Transport.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport.run-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport.run-expanded"><a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"> <tt class="py-comment"># (use the exposed "run" method, because if we specify a thread target</tt> </tt>
-<a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"> <tt class="py-comment"># of a private method, threading.Thread will keep a reference to it</tt> </tt>
-<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"> <tt class="py-comment"># indefinitely, creating a GC cycle and not letting Transport ever be</tt> </tt>
-<a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"> <tt class="py-comment"># GC'd. it's a bug in Thread.)</tt> </tt>
-<a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"> </tt>
-<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"> <tt class="py-comment"># active=True occurs before the thread is launched, to avoid a race</tt> </tt>
-<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"> <tt id="link-310" class="py-name"><a title="paramiko.transport._active_threads" class="py-name" href="#" onclick="return doclink('link-310', '_active_threads', 'link-49');">_active_threads</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-311" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-311', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'starting thread (server mode): %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffffffL</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-312" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-312', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'starting thread (client mode): %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt><tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffffffL</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">write_all</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_version</tt> <tt class="py-op">+</tt> <tt class="py-string">'\r\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_check_banner</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_kex_init</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1518"></a><tt class="py-lineno">1518</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-313" class="py-name" targets="Variable paramiko.auth_handler.MSG_KEXINIT=paramiko.auth_handler-module.html#MSG_KEXINIT,Variable paramiko.channel.MSG_KEXINIT=paramiko.channel-module.html#MSG_KEXINIT,Variable paramiko.client.MSG_KEXINIT=paramiko.client-module.html#MSG_KEXINIT,Variable paramiko.common.MSG_KEXINIT=paramiko.common-module.html#MSG_KEXINIT,Variable paramiko.dsskey.MSG_KEXINIT=paramiko.dsskey-module.html#MSG_KEXINIT,Variable paramiko.hostkeys.MSG_KEXINIT=paramiko.hostkeys-module.html#MSG_KEXINIT,Variable paramiko.kex_gex.MSG_KEXINIT=paramiko.kex_gex-module.html#MSG_KEXINIT,Variable paramiko.kex_group1.MSG_KEXINIT=paramiko.kex_group1-module.html#MSG_KEXINIT,Variable paramiko.packet.MSG_KEXINIT=paramiko.packet-module.html#MSG_KEXINIT,Variable paramiko.pkey.MSG_KEXINIT=paramiko.pkey-module.html#MSG_KEXINIT,Variable paramiko.rsakey.MSG_KEXINIT=paramiko.rsakey-module.html#MSG_KEXINIT,Variable paramiko.server.MSG_KEXINIT=paramiko.server-module.html#MSG_KEXINIT,Variable paramiko.sftp.MSG_KEXINIT=paramiko.sftp-module.html#MSG_KEXINIT,Variable paramiko.sftp_attr.MSG_KEXINIT=paramiko.sftp_attr-module.html#MSG_KEXINIT,Variable paramiko.sftp_client.MSG_KEXINIT=paramiko.sftp_client-module.html#MSG_KEXINIT,Variable paramiko.sftp_file.MSG_KEXINIT=paramiko.sftp_file-module.html#MSG_KEXINIT,Variable paramiko.sftp_handle.MSG_KEXINIT=paramiko.sftp_handle-module.html#MSG_KEXINIT,Variable paramiko.sftp_server.MSG_KEXINIT=paramiko.sftp_server-module.html#MSG_KEXINIT,Variable paramiko.sftp_si.MSG_KEXINIT=paramiko.sftp_si-module.html#MSG_KEXINIT,Variable paramiko.transport.MSG_KEXINIT=paramiko.transport-module.html#MSG_KEXINIT,Variable paramiko.util.MSG_KEXINIT=paramiko.util-module.html#MSG_KEXINIT"><a title="paramiko.auth_handler.MSG_KEXINIT
-paramiko.channel.MSG_KEXINIT
-paramiko.client.MSG_KEXINIT
-paramiko.common.MSG_KEXINIT
-paramiko.dsskey.MSG_KEXINIT
-paramiko.hostkeys.MSG_KEXINIT
-paramiko.kex_gex.MSG_KEXINIT
-paramiko.kex_group1.MSG_KEXINIT
-paramiko.packet.MSG_KEXINIT
-paramiko.pkey.MSG_KEXINIT
-paramiko.rsakey.MSG_KEXINIT
-paramiko.server.MSG_KEXINIT
-paramiko.sftp.MSG_KEXINIT
-paramiko.sftp_attr.MSG_KEXINIT
-paramiko.sftp_client.MSG_KEXINIT
-paramiko.sftp_file.MSG_KEXINIT
-paramiko.sftp_handle.MSG_KEXINIT
-paramiko.sftp_server.MSG_KEXINIT
-paramiko.sftp_si.MSG_KEXINIT
-paramiko.transport.MSG_KEXINIT
-paramiko.util.MSG_KEXINIT" class="py-name" href="#" onclick="return doclink('link-313', 'MSG_KEXINIT', 'link-313');">MSG_KEXINIT</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> </tt>
-<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">need_rekey</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_kex</tt><tt class="py-op">:</tt> </tt>
-<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_kex_init</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"> <tt class="py-name">ptype</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">read_message</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-314" class="py-name"><a title="paramiko.packet.NeedRekeyException" class="py-name" href="#" onclick="return doclink('link-314', 'NeedRekeyException', 'link-27');">NeedRekeyException</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-315" class="py-name"><a title="paramiko.auth_handler.MSG_IGNORE
-paramiko.channel.MSG_IGNORE
-paramiko.client.MSG_IGNORE
-paramiko.common.MSG_IGNORE
-paramiko.dsskey.MSG_IGNORE
-paramiko.hostkeys.MSG_IGNORE
-paramiko.kex_gex.MSG_IGNORE
-paramiko.kex_group1.MSG_IGNORE
-paramiko.packet.MSG_IGNORE
-paramiko.pkey.MSG_IGNORE
-paramiko.rsakey.MSG_IGNORE
-paramiko.server.MSG_IGNORE
-paramiko.sftp.MSG_IGNORE
-paramiko.sftp_attr.MSG_IGNORE
-paramiko.sftp_client.MSG_IGNORE
-paramiko.sftp_file.MSG_IGNORE
-paramiko.sftp_handle.MSG_IGNORE
-paramiko.sftp_server.MSG_IGNORE
-paramiko.sftp_si.MSG_IGNORE
-paramiko.transport.MSG_IGNORE
-paramiko.util.MSG_IGNORE" class="py-name" href="#" onclick="return doclink('link-315', 'MSG_IGNORE', 'link-176');">MSG_IGNORE</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-316" class="py-name" targets="Variable paramiko.auth_handler.MSG_DISCONNECT=paramiko.auth_handler-module.html#MSG_DISCONNECT,Variable paramiko.channel.MSG_DISCONNECT=paramiko.channel-module.html#MSG_DISCONNECT,Variable paramiko.client.MSG_DISCONNECT=paramiko.client-module.html#MSG_DISCONNECT,Variable paramiko.common.MSG_DISCONNECT=paramiko.common-module.html#MSG_DISCONNECT,Variable paramiko.dsskey.MSG_DISCONNECT=paramiko.dsskey-module.html#MSG_DISCONNECT,Variable paramiko.hostkeys.MSG_DISCONNECT=paramiko.hostkeys-module.html#MSG_DISCONNECT,Variable paramiko.kex_gex.MSG_DISCONNECT=paramiko.kex_gex-module.html#MSG_DISCONNECT,Variable paramiko.kex_group1.MSG_DISCONNECT=paramiko.kex_group1-module.html#MSG_DISCONNECT,Variable paramiko.packet.MSG_DISCONNECT=paramiko.packet-module.html#MSG_DISCONNECT,Variable paramiko.pkey.MSG_DISCONNECT=paramiko.pkey-module.html#MSG_DISCONNECT,Variable paramiko.rsakey.MSG_DISCONNECT=paramiko.rsakey-module.html#MSG_DISCONNECT,Variable paramiko.server.MSG_DISCONNECT=paramiko.server-module.html#MSG_DISCONNECT,Variable paramiko.sftp.MSG_DISCONNECT=paramiko.sftp-module.html#MSG_DISCONNECT,Variable paramiko.sftp_attr.MSG_DISCONNECT=paramiko.sftp_attr-module.html#MSG_DISCONNECT,Variable paramiko.sftp_client.MSG_DISCONNECT=paramiko.sftp_client-module.html#MSG_DISCONNECT,Variable paramiko.sftp_file.MSG_DISCONNECT=paramiko.sftp_file-module.html#MSG_DISCONNECT,Variable paramiko.sftp_handle.MSG_DISCONNECT=paramiko.sftp_handle-module.html#MSG_DISCONNECT,Variable paramiko.sftp_server.MSG_DISCONNECT=paramiko.sftp_server-module.html#MSG_DISCONNECT,Variable paramiko.sftp_si.MSG_DISCONNECT=paramiko.sftp_si-module.html#MSG_DISCONNECT,Variable paramiko.transport.MSG_DISCONNECT=paramiko.transport-module.html#MSG_DISCONNECT,Variable paramiko.util.MSG_DISCONNECT=paramiko.util-module.html#MSG_DISCONNECT"><a title="paramiko.auth_handler.MSG_DISCONNECT
-paramiko.channel.MSG_DISCONNECT
-paramiko.client.MSG_DISCONNECT
-paramiko.common.MSG_DISCONNECT
-paramiko.dsskey.MSG_DISCONNECT
-paramiko.hostkeys.MSG_DISCONNECT
-paramiko.kex_gex.MSG_DISCONNECT
-paramiko.kex_group1.MSG_DISCONNECT
-paramiko.packet.MSG_DISCONNECT
-paramiko.pkey.MSG_DISCONNECT
-paramiko.rsakey.MSG_DISCONNECT
-paramiko.server.MSG_DISCONNECT
-paramiko.sftp.MSG_DISCONNECT
-paramiko.sftp_attr.MSG_DISCONNECT
-paramiko.sftp_client.MSG_DISCONNECT
-paramiko.sftp_file.MSG_DISCONNECT
-paramiko.sftp_handle.MSG_DISCONNECT
-paramiko.sftp_server.MSG_DISCONNECT
-paramiko.sftp_si.MSG_DISCONNECT
-paramiko.transport.MSG_DISCONNECT
-paramiko.util.MSG_DISCONNECT" class="py-name" href="#" onclick="return doclink('link-316', 'MSG_DISCONNECT', 'link-316');">MSG_DISCONNECT</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_disconnect</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-317', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-op">==</tt> <tt id="link-318" class="py-name" targets="Variable paramiko.auth_handler.MSG_DEBUG=paramiko.auth_handler-module.html#MSG_DEBUG,Variable paramiko.channel.MSG_DEBUG=paramiko.channel-module.html#MSG_DEBUG,Variable paramiko.client.MSG_DEBUG=paramiko.client-module.html#MSG_DEBUG,Variable paramiko.common.MSG_DEBUG=paramiko.common-module.html#MSG_DEBUG,Variable paramiko.dsskey.MSG_DEBUG=paramiko.dsskey-module.html#MSG_DEBUG,Variable paramiko.hostkeys.MSG_DEBUG=paramiko.hostkeys-module.html#MSG_DEBUG,Variable paramiko.kex_gex.MSG_DEBUG=paramiko.kex_gex-module.html#MSG_DEBUG,Variable paramiko.kex_group1.MSG_DEBUG=paramiko.kex_group1-module.html#MSG_DEBUG,Variable paramiko.packet.MSG_DEBUG=paramiko.packet-module.html#MSG_DEBUG,Variable paramiko.pkey.MSG_DEBUG=paramiko.pkey-module.html#MSG_DEBUG,Variable paramiko.rsakey.MSG_DEBUG=paramiko.rsakey-module.html#MSG_DEBUG,Variable paramiko.server.MSG_DEBUG=paramiko.server-module.html#MSG_DEBUG,Variable paramiko.sftp.MSG_DEBUG=paramiko.sftp-module.html#MSG_DEBUG,Variable paramiko.sftp_attr.MSG_DEBUG=paramiko.sftp_attr-module.html#MSG_DEBUG,Variable paramiko.sftp_client.MSG_DEBUG=paramiko.sftp_client-module.html#MSG_DEBUG,Variable paramiko.sftp_file.MSG_DEBUG=paramiko.sftp_file-module.html#MSG_DEBUG,Variable paramiko.sftp_handle.MSG_DEBUG=paramiko.sftp_handle-module.html#MSG_DEBUG,Variable paramiko.sftp_server.MSG_DEBUG=paramiko.sftp_server-module.html#MSG_DEBUG,Variable paramiko.sftp_si.MSG_DEBUG=paramiko.sftp_si-module.html#MSG_DEBUG,Variable paramiko.transport.MSG_DEBUG=paramiko.transport-module.html#MSG_DEBUG,Variable paramiko.util.MSG_DEBUG=paramiko.util-module.html#MSG_DEBUG"><a title="paramiko.auth_handler.MSG_DEBUG
-paramiko.channel.MSG_DEBUG
-paramiko.client.MSG_DEBUG
-paramiko.common.MSG_DEBUG
-paramiko.dsskey.MSG_DEBUG
-paramiko.hostkeys.MSG_DEBUG
-paramiko.kex_gex.MSG_DEBUG
-paramiko.kex_group1.MSG_DEBUG
-paramiko.packet.MSG_DEBUG
-paramiko.pkey.MSG_DEBUG
-paramiko.rsakey.MSG_DEBUG
-paramiko.server.MSG_DEBUG
-paramiko.sftp.MSG_DEBUG
-paramiko.sftp_attr.MSG_DEBUG
-paramiko.sftp_client.MSG_DEBUG
-paramiko.sftp_file.MSG_DEBUG
-paramiko.sftp_handle.MSG_DEBUG
-paramiko.sftp_server.MSG_DEBUG
-paramiko.sftp_si.MSG_DEBUG
-paramiko.transport.MSG_DEBUG
-paramiko.util.MSG_DEBUG" class="py-name" href="#" onclick="return doclink('link-318', 'MSG_DEBUG', 'link-318');">MSG_DEBUG</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_debug</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expected_packet</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ptype</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expected_packet</tt><tt class="py-op">:</tt> </tt>
-<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-319" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-319', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Expecting packet from %r, got %d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expected_packet</tt><tt class="py-op">,</tt> <tt class="py-name">ptype</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expected_packet</tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">ptype</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">30</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ptype</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">39</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kex_engine</tt><tt class="py-op">.</tt><tt id="link-320" class="py-name" targets="Method paramiko.kex_gex.KexGex.parse_next()=paramiko.kex_gex.KexGex-class.html#parse_next,Method paramiko.kex_group1.KexGroup1.parse_next()=paramiko.kex_group1.KexGroup1-class.html#parse_next"><a title="paramiko.kex_gex.KexGex.parse_next
-paramiko.kex_group1.KexGroup1.parse_next" class="py-name" href="#" onclick="return doclink('link-320', 'parse_next', 'link-320');">parse_next</a></tt><tt class="py-op">(</tt><tt class="py-name">ptype</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> </tt>
-<a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ptype</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name" targets="Variable paramiko.Transport._handler_table=paramiko.Transport-class.html#_handler_table"><a title="paramiko.Transport._handler_table" class="py-name" href="#" onclick="return doclink('link-321', '_handler_table', 'link-321');">_handler_table</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="paramiko.Transport._handler_table" class="py-name" href="#" onclick="return doclink('link-322', '_handler_table', 'link-321');">_handler_table</a></tt><tt class="py-op">[</tt><tt class="py-name">ptype</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ptype</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name" targets="Variable paramiko.Transport._channel_handler_table=paramiko.Transport-class.html#_channel_handler_table"><a title="paramiko.Transport._channel_handler_table" class="py-name" href="#" onclick="return doclink('link-323', '_channel_handler_table', 'link-323');">_channel_handler_table</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-324', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-325', 'get', 'link-76');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chan</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="paramiko.Transport._channel_handler_table" class="py-name" href="#" onclick="return doclink('link-326', '_channel_handler_table', 'link-323');">_channel_handler_table</a></tt><tt class="py-op">[</tt><tt class="py-name">ptype</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-name">chan</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">chanid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channels_seen</tt><tt class="py-op">:</tt> </tt>
-<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-327" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-327', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Ignoring message for dead channel %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-328" class="py-name" targets="Variable paramiko.auth_handler.ERROR=paramiko.auth_handler-module.html#ERROR,Variable paramiko.channel.ERROR=paramiko.channel-module.html#ERROR,Variable paramiko.client.ERROR=paramiko.client-module.html#ERROR,Variable paramiko.common.ERROR=paramiko.common-module.html#ERROR,Variable paramiko.dsskey.ERROR=paramiko.dsskey-module.html#ERROR,Variable paramiko.hostkeys.ERROR=paramiko.hostkeys-module.html#ERROR,Variable paramiko.kex_gex.ERROR=paramiko.kex_gex-module.html#ERROR,Variable paramiko.kex_group1.ERROR=paramiko.kex_group1-module.html#ERROR,Variable paramiko.logging22.ERROR=paramiko.logging22-module.html#ERROR,Variable paramiko.packet.ERROR=paramiko.packet-module.html#ERROR,Variable paramiko.pkey.ERROR=paramiko.pkey-module.html#ERROR,Variable paramiko.rsakey.ERROR=paramiko.rsakey-module.html#ERROR,Variable paramiko.server.ERROR=paramiko.server-module.html#ERROR,Variable paramiko.sftp.ERROR=paramiko.sftp-module.html#ERROR,Variable paramiko.sftp_attr.ERROR=paramiko.sftp_attr-module.html#ERROR,Variable paramiko.sftp_client.ERROR=paramiko.sftp_client-module.html#ERROR,Variable paramiko.sftp_file.ERROR=paramiko.sftp_file-module.html#ERROR,Variable paramiko.sftp_handle.ERROR=paramiko.sftp_handle-module.html#ERROR,Variable paramiko.sftp_server.ERROR=paramiko.sftp_server-module.html#ERROR,Variable paramiko.sftp_si.ERROR=paramiko.sftp_si-module.html#ERROR,Variable paramiko.transport.ERROR=paramiko.transport-module.html#ERROR,Variable paramiko.util.ERROR=paramiko.util-module.html#ERROR"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-328', 'ERROR', 'link-328');">ERROR</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Channel request for unknown channel %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-329', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-330', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ptype</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-331', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="paramiko.Transport._handler_table" class="py-name" href="#" onclick="return doclink('link-332', '_handler_table', 'link-321');">_handler_table</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-333', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="paramiko.Transport._handler_table" class="py-name" href="#" onclick="return doclink('link-334', '_handler_table', 'link-321');">_handler_table</a></tt><tt class="py-op">[</tt><tt class="py-name">ptype</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-335', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-336" class="py-name" targets="Variable paramiko.auth_handler.WARNING=paramiko.auth_handler-module.html#WARNING,Variable paramiko.channel.WARNING=paramiko.channel-module.html#WARNING,Variable paramiko.client.WARNING=paramiko.client-module.html#WARNING,Variable paramiko.common.WARNING=paramiko.common-module.html#WARNING,Variable paramiko.dsskey.WARNING=paramiko.dsskey-module.html#WARNING,Variable paramiko.hostkeys.WARNING=paramiko.hostkeys-module.html#WARNING,Variable paramiko.kex_gex.WARNING=paramiko.kex_gex-module.html#WARNING,Variable paramiko.kex_group1.WARNING=paramiko.kex_group1-module.html#WARNING,Variable paramiko.logging22.WARNING=paramiko.logging22-module.html#WARNING,Variable paramiko.packet.WARNING=paramiko.packet-module.html#WARNING,Variable paramiko.pkey.WARNING=paramiko.pkey-module.html#WARNING,Variable paramiko.rsakey.WARNING=paramiko.rsakey-module.html#WARNING,Variable paramiko.server.WARNING=paramiko.server-module.html#WARNING,Variable paramiko.sftp.WARNING=paramiko.sftp-module.html#WARNING,Variable paramiko.sftp_attr.WARNING=paramiko.sftp_attr-module.html#WARNING,Variable paramiko.sftp_client.WARNING=paramiko.sftp_client-module.html#WARNING,Variable paramiko.sftp_file.WARNING=paramiko.sftp_file-module.html#WARNING,Variable paramiko.sftp_handle.WARNING=paramiko.sftp_handle-module.html#WARNING,Variable paramiko.sftp_server.WARNING=paramiko.sftp_server-module.html#WARNING,Variable paramiko.sftp_si.WARNING=paramiko.sftp_si-module.html#WARNING,Variable paramiko.transport.WARNING=paramiko.transport-module.html#WARNING,Variable paramiko.util.WARNING=paramiko.util-module.html#WARNING"><a title="paramiko.auth_handler.WARNING
-paramiko.channel.WARNING
-paramiko.client.WARNING
-paramiko.common.WARNING
-paramiko.dsskey.WARNING
-paramiko.hostkeys.WARNING
-paramiko.kex_gex.WARNING
-paramiko.kex_group1.WARNING
-paramiko.logging22.WARNING
-paramiko.packet.WARNING
-paramiko.pkey.WARNING
-paramiko.rsakey.WARNING
-paramiko.server.WARNING
-paramiko.sftp.WARNING
-paramiko.sftp_attr.WARNING
-paramiko.sftp_client.WARNING
-paramiko.sftp_file.WARNING
-paramiko.sftp_handle.WARNING
-paramiko.sftp_server.WARNING
-paramiko.sftp_si.WARNING
-paramiko.transport.WARNING
-paramiko.util.WARNING" class="py-name" href="#" onclick="return doclink('link-336', 'WARNING', 'link-336');">WARNING</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Oops, unhandled type %d'</tt> <tt class="py-op">%</tt> <tt class="py-name">ptype</tt><tt class="py-op">)</tt> </tt>
-<a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-337" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-337', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-338', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-339" class="py-name" targets="Variable paramiko.auth_handler.MSG_UNIMPLEMENTED=paramiko.auth_handler-module.html#MSG_UNIMPLEMENTED,Variable paramiko.channel.MSG_UNIMPLEMENTED=paramiko.channel-module.html#MSG_UNIMPLEMENTED,Variable paramiko.client.MSG_UNIMPLEMENTED=paramiko.client-module.html#MSG_UNIMPLEMENTED,Variable paramiko.common.MSG_UNIMPLEMENTED=paramiko.common-module.html#MSG_UNIMPLEMENTED,Variable paramiko.dsskey.MSG_UNIMPLEMENTED=paramiko.dsskey-module.html#MSG_UNIMPLEMENTED,Variable paramiko.hostkeys.MSG_UNIMPLEMENTED=paramiko.hostkeys-module.html#MSG_UNIMPLEMENTED,Variable paramiko.kex_gex.MSG_UNIMPLEMENTED=paramiko.kex_gex-module.html#MSG_UNIMPLEMENTED,Variable paramiko.kex_group1.MSG_UNIMPLEMENTED=paramiko.kex_group1-module.html#MSG_UNIMPLEMENTED,Variable paramiko.packet.MSG_UNIMPLEMENTED=paramiko.packet-module.html#MSG_UNIMPLEMENTED,Variable paramiko.pkey.MSG_UNIMPLEMENTED=paramiko.pkey-module.html#MSG_UNIMPLEMENTED,Variable paramiko.rsakey.MSG_UNIMPLEMENTED=paramiko.rsakey-module.html#MSG_UNIMPLEMENTED,Variable paramiko.server.MSG_UNIMPLEMENTED=paramiko.server-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp.MSG_UNIMPLEMENTED=paramiko.sftp-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_attr.MSG_UNIMPLEMENTED=paramiko.sftp_attr-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_client.MSG_UNIMPLEMENTED=paramiko.sftp_client-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_file.MSG_UNIMPLEMENTED=paramiko.sftp_file-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_handle.MSG_UNIMPLEMENTED=paramiko.sftp_handle-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_server.MSG_UNIMPLEMENTED=paramiko.sftp_server-module.html#MSG_UNIMPLEMENTED,Variable paramiko.sftp_si.MSG_UNIMPLEMENTED=paramiko.sftp_si-module.html#MSG_UNIMPLEMENTED,Variable paramiko.transport.MSG_UNIMPLEMENTED=paramiko.transport-module.html#MSG_UNIMPLEMENTED,Variable paramiko.util.MSG_UNIMPLEMENTED=paramiko.util-module.html#MSG_UNIMPLEMENTED"><a title="paramiko.auth_handler.MSG_UNIMPLEMENTED
-paramiko.channel.MSG_UNIMPLEMENTED
-paramiko.client.MSG_UNIMPLEMENTED
-paramiko.common.MSG_UNIMPLEMENTED
-paramiko.dsskey.MSG_UNIMPLEMENTED
-paramiko.hostkeys.MSG_UNIMPLEMENTED
-paramiko.kex_gex.MSG_UNIMPLEMENTED
-paramiko.kex_group1.MSG_UNIMPLEMENTED
-paramiko.packet.MSG_UNIMPLEMENTED
-paramiko.pkey.MSG_UNIMPLEMENTED
-paramiko.rsakey.MSG_UNIMPLEMENTED
-paramiko.server.MSG_UNIMPLEMENTED
-paramiko.sftp.MSG_UNIMPLEMENTED
-paramiko.sftp_attr.MSG_UNIMPLEMENTED
-paramiko.sftp_client.MSG_UNIMPLEMENTED
-paramiko.sftp_file.MSG_UNIMPLEMENTED
-paramiko.sftp_handle.MSG_UNIMPLEMENTED
-paramiko.sftp_server.MSG_UNIMPLEMENTED
-paramiko.sftp_si.MSG_UNIMPLEMENTED
-paramiko.transport.MSG_UNIMPLEMENTED
-paramiko.util.MSG_UNIMPLEMENTED" class="py-name" href="#" onclick="return doclink('link-339', 'MSG_UNIMPLEMENTED', 'link-339');">MSG_UNIMPLEMENTED</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-340', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">seqno</tt><tt class="py-op">)</tt> </tt>
-<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-341" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-341', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-342" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-342', 'ERROR', 'link-328');">ERROR</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Exception: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-343" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-343', 'ERROR', 'link-328');">ERROR</a></tt><tt class="py-op">,</tt> <tt id="link-344" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-344', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-345" class="py-name" targets="Function paramiko.util.tb_strings()=paramiko.util-module.html#tb_strings"><a title="paramiko.util.tb_strings" class="py-name" href="#" onclick="return doclink('link-345', 'tb_strings', 'link-345');">tb_strings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">EOFError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-346" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-346', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'EOF in transport thread'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"> <tt class="py-comment">#self._log(DEBUG, util.tb_strings())</tt> </tt>
-<a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">socket</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">:</tt> </tt>
-<a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"> <tt class="py-name">emsg</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s (%d)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"> <tt class="py-name">emsg</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">args</tt> </tt>
-<a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-347" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-347', 'ERROR', 'link-328');">ERROR</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Socket exception: '</tt> <tt class="py-op">+</tt> <tt class="py-name">emsg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-348" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-348', 'ERROR', 'link-328');">ERROR</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Unknown exception: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-349" class="py-name"><a title="paramiko.auth_handler.ERROR
-paramiko.channel.ERROR
-paramiko.client.ERROR
-paramiko.common.ERROR
-paramiko.dsskey.ERROR
-paramiko.hostkeys.ERROR
-paramiko.kex_gex.ERROR
-paramiko.kex_group1.ERROR
-paramiko.logging22.ERROR
-paramiko.packet.ERROR
-paramiko.pkey.ERROR
-paramiko.rsakey.ERROR
-paramiko.server.ERROR
-paramiko.sftp.ERROR
-paramiko.sftp_attr.ERROR
-paramiko.sftp_client.ERROR
-paramiko.sftp_file.ERROR
-paramiko.sftp_handle.ERROR
-paramiko.sftp_server.ERROR
-paramiko.sftp_si.ERROR
-paramiko.transport.ERROR
-paramiko.util.ERROR" class="py-name" href="#" onclick="return doclink('link-349', 'ERROR', 'link-328');">ERROR</a></tt><tt class="py-op">,</tt> <tt id="link-350" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-350', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="paramiko.util.tb_strings" class="py-name" href="#" onclick="return doclink('link-351', 'tb_strings', 'link-345');">tb_strings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt id="link-352" class="py-name"><a title="paramiko.transport._active_threads" class="py-name" href="#" onclick="return doclink('link-352', '_active_threads', 'link-49');">_active_threads</a></tt><tt class="py-op">.</tt><tt id="link-353" class="py-name" targets="Method paramiko.SFTPServerInterface.remove()=paramiko.SFTPServerInterface-class.html#remove"><a title="paramiko.SFTPServerInterface.remove" class="py-name" href="#" onclick="return doclink('link-353', 'remove', 'link-353');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chan</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="paramiko.HostKeys.values
-paramiko.transport.ChannelMap.values" class="py-name" href="#" onclick="return doclink('link-354', 'values', 'link-77');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_unlink</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt><tt class="py-op">:</tt> </tt>
-<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">active</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-355', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name" targets="Method paramiko.pipe.OrPipe.set()=paramiko.pipe.OrPipe-class.html#set,Method paramiko.pipe.PosixPipe.set()=paramiko.pipe.PosixPipe-class.html#set,Method paramiko.pipe.WindowsPipe.set()=paramiko.pipe.WindowsPipe-class.html#set"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-356', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-357', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-358', 'auth_handler', 'link-3');">auth_handler</a></tt><tt class="py-op">.</tt><tt class="py-name">abort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">event</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="paramiko.HostKeys.values
-paramiko.transport.ChannelMap.values" class="py-name" href="#" onclick="return doclink('link-359', 'values', 'link-77');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-360', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_accept_cv</tt><tt class="py-op">.</tt><tt class="py-name">notify</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1602"></a><tt class="py-lineno">1602</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sock</tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-361', 'close', 'link-115');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"> </tt>
-<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"> </tt>
-<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"> <tt class="py-comment">### protocol stages</tt> </tt>
-<a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"> </tt>
-<a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"> </tt>
-<a name="Transport._negotiate_keys"></a><div id="Transport._negotiate_keys-def"><a name="L1608"></a><tt class="py-lineno">1608</tt> <a class="py-toggle" href="#" id="Transport._negotiate_keys-toggle" onclick="return toggle('Transport._negotiate_keys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_negotiate_keys">_negotiate_keys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._negotiate_keys-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._negotiate_keys-expanded"><a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"> <tt class="py-comment"># throws SSHException on anything unusual</tt> </tt>
-<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send</tt><tt class="py-op">.</tt><tt id="link-362" class="py-name" targets="Method paramiko.HostKeys.clear()=paramiko.HostKeys-class.html#clear,Method paramiko.pipe.OrPipe.clear()=paramiko.pipe.OrPipe-class.html#clear,Method paramiko.pipe.PosixPipe.clear()=paramiko.pipe.PosixPipe-class.html#clear,Method paramiko.pipe.WindowsPipe.clear()=paramiko.pipe.WindowsPipe-class.html#clear"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-362', 'clear', 'link-362');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1613"></a><tt class="py-lineno">1613</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"> <tt class="py-comment"># remote side wants to renegotiate</tt> </tt>
-<a name="L1617"></a><tt class="py-lineno">1617</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_kex_init</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1618"></a><tt class="py-lineno">1618</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse_kex_init</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kex_engine</tt><tt class="py-op">.</tt><tt id="link-363" class="py-name" targets="Method paramiko.kex_gex.KexGex.start_kex()=paramiko.kex_gex.KexGex-class.html#start_kex,Method paramiko.kex_group1.KexGroup1.start_kex()=paramiko.kex_group1.KexGroup1-class.html#start_kex"><a title="paramiko.kex_gex.KexGex.start_kex
-paramiko.kex_group1.KexGroup1.start_kex" class="py-name" href="#" onclick="return doclink('link-363', 'start_kex', 'link-363');">start_kex</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1620"></a><tt class="py-lineno">1620</tt> <tt class="py-line"> </tt>
-<a name="Transport._check_banner"></a><div id="Transport._check_banner-def"><a name="L1621"></a><tt class="py-lineno">1621</tt> <a class="py-toggle" href="#" id="Transport._check_banner-toggle" onclick="return toggle('Transport._check_banner');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_check_banner">_check_banner</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._check_banner-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._check_banner-expanded"><a name="L1622"></a><tt class="py-lineno">1622</tt> <tt class="py-line"> <tt class="py-comment"># this is slow, but we only have to do it once</tt> </tt>
-<a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"> <tt class="py-comment"># give them 15 seconds for the first line, then just 2 seconds</tt> </tt>
-<a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"> <tt class="py-comment"># each additional line. (some sites have very high latency.)</tt> </tt>
-<a name="L1626"></a><tt class="py-lineno">1626</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1627"></a><tt class="py-lineno">1627</tt> <tt class="py-line"> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">banner_timeout</tt> </tt>
-<a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1629"></a><tt class="py-lineno">1629</tt> <tt class="py-line"> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
-<a name="L1630"></a><tt class="py-lineno">1630</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name" targets="Method paramiko.BufferedFile.readline()=paramiko.BufferedFile-class.html#readline"><a title="paramiko.BufferedFile.readline" class="py-name" href="#" onclick="return doclink('link-364', 'readline', 'link-364');">readline</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
-<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-365" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-365', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Error reading SSH protocol banner'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'SSH-'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-366" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-366', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Banner: '</tt> <tt class="py-op">+</tt> <tt class="py-name">buf</tt><tt class="py-op">)</tt> </tt>
-<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'SSH-'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-367" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-367', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Indecipherable protocol version "'</tt> <tt class="py-op">+</tt> <tt class="py-name">buf</tt> <tt class="py-op">+</tt> <tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"> <tt class="py-comment"># save this server version string for later</tt> </tt>
-<a name="L1640"></a><tt class="py-lineno">1640</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_version</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt> </tt>
-<a name="L1641"></a><tt class="py-lineno">1641</tt> <tt class="py-line"> <tt class="py-comment"># pull off any attached comment</tt> </tt>
-<a name="L1642"></a><tt class="py-lineno">1642</tt> <tt class="py-line"> <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-name">buf</tt><tt class="py-op">,</tt> <tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
-<a name="L1644"></a><tt class="py-lineno">1644</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1645"></a><tt class="py-lineno">1645</tt> <tt class="py-line"> <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
-<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"> <tt class="py-comment"># parse out version string and make sure it matches</tt> </tt>
-<a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"> <tt class="py-name">segs</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">segs</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L1650"></a><tt class="py-lineno">1650</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-368" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-368', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Invalid SSH banner'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"> <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">segs</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"> <tt id="link-369" class="py-name" targets="Module paramiko.client=paramiko.client-module.html"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-369', 'client', 'link-369');">client</a></tt> <tt class="py-op">=</tt> <tt class="py-name">segs</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">version</tt> <tt class="py-op">!=</tt> <tt class="py-string">'1.99'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">version</tt> <tt class="py-op">!=</tt> <tt class="py-string">'2.0'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1654"></a><tt class="py-lineno">1654</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-370" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-370', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible version (%s instead of 2.0)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">version</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-371" class="py-name" targets="Variable paramiko.auth_handler.INFO=paramiko.auth_handler-module.html#INFO,Variable paramiko.channel.INFO=paramiko.channel-module.html#INFO,Variable paramiko.client.INFO=paramiko.client-module.html#INFO,Variable paramiko.common.INFO=paramiko.common-module.html#INFO,Variable paramiko.dsskey.INFO=paramiko.dsskey-module.html#INFO,Variable paramiko.hostkeys.INFO=paramiko.hostkeys-module.html#INFO,Variable paramiko.kex_gex.INFO=paramiko.kex_gex-module.html#INFO,Variable paramiko.kex_group1.INFO=paramiko.kex_group1-module.html#INFO,Variable paramiko.logging22.INFO=paramiko.logging22-module.html#INFO,Variable paramiko.packet.INFO=paramiko.packet-module.html#INFO,Variable paramiko.pkey.INFO=paramiko.pkey-module.html#INFO,Variable paramiko.rsakey.INFO=paramiko.rsakey-module.html#INFO,Variable paramiko.server.INFO=paramiko.server-module.html#INFO,Variable paramiko.sftp.INFO=paramiko.sftp-module.html#INFO,Variable paramiko.sftp_attr.INFO=paramiko.sftp_attr-module.html#INFO,Variable paramiko.sftp_client.INFO=paramiko.sftp_client-module.html#INFO,Variable paramiko.sftp_file.INFO=paramiko.sftp_file-module.html#INFO,Variable paramiko.sftp_handle.INFO=paramiko.sftp_handle-module.html#INFO,Variable paramiko.sftp_server.INFO=paramiko.sftp_server-module.html#INFO,Variable paramiko.sftp_si.INFO=paramiko.sftp_si-module.html#INFO,Variable paramiko.transport.INFO=paramiko.transport-module.html#INFO,Variable paramiko.util.INFO=paramiko.util-module.html#INFO"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-371', 'INFO', 'link-371');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Connected (version %s, client %s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">version</tt><tt class="py-op">,</tt> <tt id="link-372" class="py-name"><a title="paramiko.client" class="py-name" href="#" onclick="return doclink('link-372', 'client', 'link-369');">client</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> </tt>
-<a name="Transport._send_kex_init"></a><div id="Transport._send_kex_init-def"><a name="L1657"></a><tt class="py-lineno">1657</tt> <a class="py-toggle" href="#" id="Transport._send_kex_init-toggle" onclick="return toggle('Transport._send_kex_init');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_send_kex_init">_send_kex_init</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._send_kex_init-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._send_kex_init-expanded"><a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"><tt class="py-docstring"> announce to the other side that we'd like to negotiate keys, and what</tt> </tt>
-<a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"><tt class="py-docstring"> kind of key negotiation we support.</tt> </tt>
-<a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1663"></a><tt class="py-lineno">1663</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1664"></a><tt class="py-lineno">1664</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="paramiko.HostKeys.clear
-paramiko.pipe.OrPipe.clear
-paramiko.pipe.PosixPipe.clear
-paramiko.pipe.WindowsPipe.clear" class="py-name" href="#" onclick="return doclink('link-373', 'clear', 'link-362');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1667"></a><tt class="py-lineno">1667</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_kex</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1668"></a><tt class="py-lineno">1668</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="paramiko.Transport._modulus_pack" class="py-name" href="#" onclick="return doclink('link-374', '_modulus_pack', 'link-98');">_modulus_pack</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">'diffie-hellman-group-exchange-sha1'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="paramiko.Transport._preferred_kex" class="py-name" href="#" onclick="return doclink('link-375', '_preferred_kex', 'link-56');">_preferred_kex</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"> <tt class="py-comment"># can't do group-exchange if we don't have a pack of potential primes</tt> </tt>
-<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"> <tt class="py-name">pkex</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name" targets="Method paramiko.Transport.get_security_options()=paramiko.Transport-class.html#get_security_options"><a title="paramiko.Transport.get_security_options" class="py-name" href="#" onclick="return doclink('link-376', 'get_security_options', 'link-376');">get_security_options</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="paramiko.SecurityOptions.kex" class="py-name" href="#" onclick="return doclink('link-377', 'kex', 'link-70');">kex</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"> <tt class="py-name">pkex</tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="paramiko.SFTPServerInterface.remove" class="py-name" href="#" onclick="return doclink('link-378', 'remove', 'link-353');">remove</a></tt><tt class="py-op">(</tt><tt class="py-string">'diffie-hellman-group-exchange-sha1'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="paramiko.Transport.get_security_options" class="py-name" href="#" onclick="return doclink('link-379', 'get_security_options', 'link-376');">get_security_options</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="paramiko.SecurityOptions.kex" class="py-name" href="#" onclick="return doclink('link-380', 'kex', 'link-70');">kex</a></tt> <tt class="py-op">=</tt> <tt class="py-name">pkex</tt> </tt>
-<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"> <tt class="py-name">available_server_keys</tt> <tt class="py-op">=</tt> <tt id="link-381" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-381', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_key_dict</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-382', 'keys', 'link-58');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> </tt>
-<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-383', '_preferred_keys', 'link-55');">_preferred_keys</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"> <tt class="py-name">available_server_keys</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-384', '_preferred_keys', 'link-55');">_preferred_keys</a></tt> </tt>
-<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"> </tt>
-<a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-385" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-385', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-386', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-387" class="py-name"><a title="paramiko.auth_handler.MSG_KEXINIT
-paramiko.channel.MSG_KEXINIT
-paramiko.client.MSG_KEXINIT
-paramiko.common.MSG_KEXINIT
-paramiko.dsskey.MSG_KEXINIT
-paramiko.hostkeys.MSG_KEXINIT
-paramiko.kex_gex.MSG_KEXINIT
-paramiko.kex_group1.MSG_KEXINIT
-paramiko.packet.MSG_KEXINIT
-paramiko.pkey.MSG_KEXINIT
-paramiko.rsakey.MSG_KEXINIT
-paramiko.server.MSG_KEXINIT
-paramiko.sftp.MSG_KEXINIT
-paramiko.sftp_attr.MSG_KEXINIT
-paramiko.sftp_client.MSG_KEXINIT
-paramiko.sftp_file.MSG_KEXINIT
-paramiko.sftp_handle.MSG_KEXINIT
-paramiko.sftp_server.MSG_KEXINIT
-paramiko.sftp_si.MSG_KEXINIT
-paramiko.transport.MSG_KEXINIT
-paramiko.util.MSG_KEXINIT" class="py-name" href="#" onclick="return doclink('link-387', 'MSG_KEXINIT', 'link-313');">MSG_KEXINIT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="paramiko.Message.add_bytes" class="py-name" href="#" onclick="return doclink('link-388', 'add_bytes', 'link-179');">add_bytes</a></tt><tt class="py-op">(</tt><tt id="link-389" class="py-name"><a title="paramiko.auth_handler.rng
-paramiko.channel.rng
-paramiko.client.rng
-paramiko.common.rng
-paramiko.dsskey.rng
-paramiko.hostkeys.rng
-paramiko.kex_gex.rng
-paramiko.kex_group1.rng
-paramiko.packet.rng
-paramiko.pkey.rng
-paramiko.rsakey.rng
-paramiko.server.rng
-paramiko.sftp.rng
-paramiko.sftp_attr.rng
-paramiko.sftp_client.rng
-paramiko.sftp_file.rng
-paramiko.sftp_handle.rng
-paramiko.sftp_server.rng
-paramiko.sftp_si.rng
-paramiko.transport.rng
-paramiko.util.rng" class="py-name" href="#" onclick="return doclink('link-389', 'rng', 'link-102');">rng</a></tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-390', 'read', 'link-178');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1682"></a><tt class="py-lineno">1682</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name" targets="Method paramiko.Message.add_list()=paramiko.Message-class.html#add_list"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-391', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="paramiko.Transport._preferred_kex" class="py-name" href="#" onclick="return doclink('link-392', '_preferred_kex', 'link-56');">_preferred_kex</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-393', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">available_server_keys</tt><tt class="py-op">)</tt> </tt>
-<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-394', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-395', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-396" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-396', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-397', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1686"></a><tt class="py-lineno">1686</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-398', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-399', '_preferred_macs', 'link-54');">_preferred_macs</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-400', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-401', '_preferred_macs', 'link-54');">_preferred_macs</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-402', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-403', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="paramiko.Message.add_list" class="py-name" href="#" onclick="return doclink('link-404', 'add_list', 'link-391');">add_list</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-405', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-406', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1691"></a><tt class="py-lineno">1691</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-407', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1692"></a><tt class="py-lineno">1692</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="paramiko.Message.add_boolean" class="py-name" href="#" onclick="return doclink('link-408', 'add_boolean', 'link-190');">add_boolean</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1693"></a><tt class="py-lineno">1693</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-409', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"> <tt class="py-comment"># save a copy for later (needed to compute a hash)</tt> </tt>
-<a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1697"></a><tt class="py-lineno">1697</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_kex_init"></a><div id="Transport._parse_kex_init-def"><a name="L1698"></a><tt class="py-lineno">1698</tt> <a class="py-toggle" href="#" id="Transport._parse_kex_init-toggle" onclick="return toggle('Transport._parse_kex_init');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_kex_init">_parse_kex_init</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_kex_init-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_kex_init-expanded"><a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"> <tt class="py-name">cookie</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name" targets="Method paramiko.Message.get_bytes()=paramiko.Message-class.html#get_bytes"><a title="paramiko.Message.get_bytes" class="py-name" href="#" onclick="return doclink('link-410', 'get_bytes', 'link-410');">get_bytes</a></tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
-<a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"> <tt class="py-name">kex_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-411" class="py-name" targets="Method paramiko.Message.get_list()=paramiko.Message-class.html#get_list"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-411', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"> <tt class="py-name">server_key_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-412', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1702"></a><tt class="py-lineno">1702</tt> <tt class="py-line"> <tt class="py-name">client_encrypt_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-413', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"> <tt class="py-name">server_encrypt_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-414', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1704"></a><tt class="py-lineno">1704</tt> <tt class="py-line"> <tt class="py-name">client_mac_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-415', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"> <tt class="py-name">server_mac_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-416', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1706"></a><tt class="py-lineno">1706</tt> <tt class="py-line"> <tt class="py-name">client_compress_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-417', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"> <tt class="py-name">server_compress_algo_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-418', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"> <tt class="py-name">client_lang_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-419', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"> <tt class="py-name">server_lang_list</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-420" class="py-name"><a title="paramiko.Message.get_list" class="py-name" href="#" onclick="return doclink('link-420', 'get_list', 'link-411');">get_list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"> <tt class="py-name">kex_follows</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name" targets="Method paramiko.Message.get_boolean()=paramiko.Message-class.html#get_boolean"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-421', 'get_boolean', 'link-421');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"> <tt class="py-name">unused</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-422', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1712"></a><tt class="py-lineno">1712</tt> <tt class="py-line"> </tt>
-<a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-423" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-423', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'kex algos:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">kex_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' server key:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">server_key_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"> <tt class="py-string">' client encrypt:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">client_encrypt_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"> <tt class="py-string">' server encrypt:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">server_encrypt_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"> <tt class="py-string">' client mac:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">client_mac_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"> <tt class="py-string">' server mac:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">server_mac_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"> <tt class="py-string">' client compress:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">client_compress_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"> <tt class="py-string">' server compress:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">server_compress_algo_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1720"></a><tt class="py-lineno">1720</tt> <tt class="py-line"> <tt class="py-string">' client lang:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">client_lang_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"> <tt class="py-string">' server lang:'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">server_lang_list</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
-<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"> <tt class="py-string">' kex follows?'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">kex_follows</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"> </tt>
-<a name="L1724"></a><tt class="py-lineno">1724</tt> <tt class="py-line"> <tt class="py-comment"># as a server, we pick the first item in the client's list that we support.</tt> </tt>
-<a name="L1725"></a><tt class="py-lineno">1725</tt> <tt class="py-line"> <tt class="py-comment"># as a client, we pick the first item in our list that the server supports.</tt> </tt>
-<a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1727"></a><tt class="py-lineno">1727</tt> <tt class="py-line"> <tt class="py-name">agreed_kex</tt> <tt class="py-op">=</tt> <tt id="link-424" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-424', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-425" class="py-name"><a title="paramiko.Transport._preferred_kex" class="py-name" href="#" onclick="return doclink('link-425', '_preferred_kex', 'link-56');">_preferred_kex</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">kex_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1728"></a><tt class="py-lineno">1728</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1729"></a><tt class="py-lineno">1729</tt> <tt class="py-line"> <tt class="py-name">agreed_kex</tt> <tt class="py-op">=</tt> <tt id="link-426" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-426', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">kex_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="paramiko.Transport._preferred_kex" class="py-name" href="#" onclick="return doclink('link-427', '_preferred_kex', 'link-56');">_preferred_kex</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1730"></a><tt class="py-lineno">1730</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_kex</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1731"></a><tt class="py-lineno">1731</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-428" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-428', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible ssh peer (no acceptable kex algorithm)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1732"></a><tt class="py-lineno">1732</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kex_engine</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-429" class="py-name"><a title="paramiko.Transport._kex_info" class="py-name" href="#" onclick="return doclink('link-429', '_kex_info', 'link-90');">_kex_info</a></tt><tt class="py-op">[</tt><tt class="py-name">agreed_kex</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1733"></a><tt class="py-lineno">1733</tt> <tt class="py-line"> </tt>
-<a name="L1734"></a><tt class="py-lineno">1734</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1735"></a><tt class="py-lineno">1735</tt> <tt class="py-line"> <tt class="py-name">available_server_keys</tt> <tt class="py-op">=</tt> <tt id="link-430" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-430', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_key_dict</tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="paramiko.HostKeys.keys" class="py-name" href="#" onclick="return doclink('link-431', 'keys', 'link-58');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> </tt>
-<a name="L1736"></a><tt class="py-lineno">1736</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-432', '_preferred_keys', 'link-55');">_preferred_keys</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1737"></a><tt class="py-lineno">1737</tt> <tt class="py-line"> <tt class="py-name">agreed_keys</tt> <tt class="py-op">=</tt> <tt id="link-433" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-433', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">available_server_keys</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">server_key_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1738"></a><tt class="py-lineno">1738</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1739"></a><tt class="py-lineno">1739</tt> <tt class="py-line"> <tt class="py-name">agreed_keys</tt> <tt class="py-op">=</tt> <tt id="link-434" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-434', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">server_key_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="paramiko.Transport._preferred_keys" class="py-name" href="#" onclick="return doclink('link-435', '_preferred_keys', 'link-55');">_preferred_keys</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1740"></a><tt class="py-lineno">1740</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_keys</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L1741"></a><tt class="py-lineno">1741</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-436" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-436', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible ssh peer (no acceptable host key)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1742"></a><tt class="py-lineno">1742</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key_type</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_keys</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1743"></a><tt class="py-lineno">1743</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-437" class="py-name" targets="Method paramiko.Transport.get_server_key()=paramiko.Transport-class.html#get_server_key"><a title="paramiko.Transport.get_server_key" class="py-name" href="#" onclick="return doclink('link-437', 'get_server_key', 'link-437');">get_server_key</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1744"></a><tt class="py-lineno">1744</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-438" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-438', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible ssh peer (can\'t match requested host key type)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1745"></a><tt class="py-lineno">1745</tt> <tt class="py-line"> </tt>
-<a name="L1746"></a><tt class="py-lineno">1746</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1747"></a><tt class="py-lineno">1747</tt> <tt class="py-line"> <tt class="py-name">agreed_local_ciphers</tt> <tt class="py-op">=</tt> <tt id="link-439" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-439', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-440', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> </tt>
-<a name="L1748"></a><tt class="py-lineno">1748</tt> <tt class="py-line"> <tt class="py-name">server_encrypt_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1749"></a><tt class="py-lineno">1749</tt> <tt class="py-line"> <tt class="py-name">agreed_remote_ciphers</tt> <tt class="py-op">=</tt> <tt id="link-441" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-441', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-442', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> </tt>
-<a name="L1750"></a><tt class="py-lineno">1750</tt> <tt class="py-line"> <tt class="py-name">client_encrypt_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1751"></a><tt class="py-lineno">1751</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1752"></a><tt class="py-lineno">1752</tt> <tt class="py-line"> <tt class="py-name">agreed_local_ciphers</tt> <tt class="py-op">=</tt> <tt id="link-443" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-443', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">client_encrypt_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> </tt>
-<a name="L1753"></a><tt class="py-lineno">1753</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-444', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1754"></a><tt class="py-lineno">1754</tt> <tt class="py-line"> <tt class="py-name">agreed_remote_ciphers</tt> <tt class="py-op">=</tt> <tt id="link-445" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-445', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">server_encrypt_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> </tt>
-<a name="L1755"></a><tt class="py-lineno">1755</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="paramiko.Transport._preferred_ciphers" class="py-name" href="#" onclick="return doclink('link-446', '_preferred_ciphers', 'link-53');">_preferred_ciphers</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1756"></a><tt class="py-lineno">1756</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_local_ciphers</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_remote_ciphers</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1757"></a><tt class="py-lineno">1757</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-447" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-447', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible ssh server (no acceptable ciphers)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1758"></a><tt class="py-lineno">1758</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_local_ciphers</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1759"></a><tt class="py-lineno">1759</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_remote_ciphers</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1760"></a><tt class="py-lineno">1760</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-448" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-448', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Ciphers agreed: local=%s, remote=%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1761"></a><tt class="py-lineno">1761</tt> <tt class="py-line"> </tt>
-<a name="L1762"></a><tt class="py-lineno">1762</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1763"></a><tt class="py-lineno">1763</tt> <tt class="py-line"> <tt class="py-name">agreed_remote_macs</tt> <tt class="py-op">=</tt> <tt id="link-449" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-449', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-450', '_preferred_macs', 'link-54');">_preferred_macs</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">client_mac_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1764"></a><tt class="py-lineno">1764</tt> <tt class="py-line"> <tt class="py-name">agreed_local_macs</tt> <tt class="py-op">=</tt> <tt id="link-451" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-451', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-452" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-452', '_preferred_macs', 'link-54');">_preferred_macs</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">server_mac_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1765"></a><tt class="py-lineno">1765</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1766"></a><tt class="py-lineno">1766</tt> <tt class="py-line"> <tt class="py-name">agreed_local_macs</tt> <tt class="py-op">=</tt> <tt id="link-453" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-453', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">client_mac_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-454" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-454', '_preferred_macs', 'link-54');">_preferred_macs</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1767"></a><tt class="py-lineno">1767</tt> <tt class="py-line"> <tt class="py-name">agreed_remote_macs</tt> <tt class="py-op">=</tt> <tt id="link-455" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-455', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">server_mac_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-456" class="py-name"><a title="paramiko.Transport._preferred_macs" class="py-name" href="#" onclick="return doclink('link-456', '_preferred_macs', 'link-54');">_preferred_macs</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1768"></a><tt class="py-lineno">1768</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_local_macs</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_remote_macs</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1769"></a><tt class="py-lineno">1769</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-457" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-457', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible ssh server (no acceptable macs)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1770"></a><tt class="py-lineno">1770</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_mac</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_local_macs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1771"></a><tt class="py-lineno">1771</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_mac</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_remote_macs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1772"></a><tt class="py-lineno">1772</tt> <tt class="py-line"> </tt>
-<a name="L1773"></a><tt class="py-lineno">1773</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1774"></a><tt class="py-lineno">1774</tt> <tt class="py-line"> <tt class="py-name">agreed_remote_compression</tt> <tt class="py-op">=</tt> <tt id="link-458" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-458', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-459', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">client_compress_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1775"></a><tt class="py-lineno">1775</tt> <tt class="py-line"> <tt class="py-name">agreed_local_compression</tt> <tt class="py-op">=</tt> <tt id="link-460" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-460', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-461', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">server_compress_algo_list</tt><tt class="py-op">)</tt> </tt>
-<a name="L1776"></a><tt class="py-lineno">1776</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1777"></a><tt class="py-lineno">1777</tt> <tt class="py-line"> <tt class="py-name">agreed_local_compression</tt> <tt class="py-op">=</tt> <tt id="link-462" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-462', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">client_compress_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-463', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1778"></a><tt class="py-lineno">1778</tt> <tt class="py-line"> <tt class="py-name">agreed_remote_compression</tt> <tt class="py-op">=</tt> <tt id="link-464" class="py-name"><a title="paramiko.util.PFilter.filter" class="py-name" href="#" onclick="return doclink('link-464', 'filter', 'link-59');">filter</a></tt><tt class="py-op">(</tt><tt class="py-name">server_compress_algo_list</tt><tt class="py-op">.</tt><tt class="py-name">__contains__</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-465', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1779"></a><tt class="py-lineno">1779</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_local_compression</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">agreed_remote_compression</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1780"></a><tt class="py-lineno">1780</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-466" class="py-name"><a title="paramiko.SSHException" class="py-name" href="#" onclick="return doclink('link-466', 'SSHException', 'link-42');">SSHException</a></tt><tt class="py-op">(</tt><tt class="py-string">'Incompatible ssh server (no acceptable compression) %r %r %r'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">agreed_local_compression</tt><tt class="py-op">,</tt> <tt class="py-name">agreed_remote_compression</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="paramiko.Transport._preferred_compression" class="py-name" href="#" onclick="return doclink('link-467', '_preferred_compression', 'link-57');">_preferred_compression</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1781"></a><tt class="py-lineno">1781</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_local_compression</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1782"></a><tt class="py-lineno">1782</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt> <tt class="py-op">=</tt> <tt class="py-name">agreed_remote_compression</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1783"></a><tt class="py-lineno">1783</tt> <tt class="py-line"> </tt>
-<a name="L1784"></a><tt class="py-lineno">1784</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-468" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-468', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'using kex %s; server key type %s; cipher: local %s, remote %s; mac: local %s, remote %s; compression: local %s, remote %s'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L1785"></a><tt class="py-lineno">1785</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">agreed_kex</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host_key_type</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_mac</tt><tt class="py-op">,</tt> </tt>
-<a name="L1786"></a><tt class="py-lineno">1786</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_mac</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1787"></a><tt class="py-lineno">1787</tt> <tt class="py-line"> </tt>
-<a name="L1788"></a><tt class="py-lineno">1788</tt> <tt class="py-line"> <tt class="py-comment"># save for computing hash later...</tt> </tt>
-<a name="L1789"></a><tt class="py-lineno">1789</tt> <tt class="py-line"> <tt class="py-comment"># now wait! openssh has a bug (and others might too) where there are</tt> </tt>
-<a name="L1790"></a><tt class="py-lineno">1790</tt> <tt class="py-line"> <tt class="py-comment"># actually some extra bytes (one NUL byte in openssh's case) added to</tt> </tt>
-<a name="L1791"></a><tt class="py-lineno">1791</tt> <tt class="py-line"> <tt class="py-comment"># the end of the packet but not parsed. turns out we need to throw</tt> </tt>
-<a name="L1792"></a><tt class="py-lineno">1792</tt> <tt class="py-line"> <tt class="py-comment"># away those bytes because they aren't part of the hash.</tt> </tt>
-<a name="L1793"></a><tt class="py-lineno">1793</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-469" class="py-name"><a title="paramiko.auth_handler.MSG_KEXINIT
-paramiko.channel.MSG_KEXINIT
-paramiko.client.MSG_KEXINIT
-paramiko.common.MSG_KEXINIT
-paramiko.dsskey.MSG_KEXINIT
-paramiko.hostkeys.MSG_KEXINIT
-paramiko.kex_gex.MSG_KEXINIT
-paramiko.kex_group1.MSG_KEXINIT
-paramiko.packet.MSG_KEXINIT
-paramiko.pkey.MSG_KEXINIT
-paramiko.rsakey.MSG_KEXINIT
-paramiko.server.MSG_KEXINIT
-paramiko.sftp.MSG_KEXINIT
-paramiko.sftp_attr.MSG_KEXINIT
-paramiko.sftp_client.MSG_KEXINIT
-paramiko.sftp_file.MSG_KEXINIT
-paramiko.sftp_handle.MSG_KEXINIT
-paramiko.sftp_server.MSG_KEXINIT
-paramiko.sftp_si.MSG_KEXINIT
-paramiko.transport.MSG_KEXINIT
-paramiko.util.MSG_KEXINIT" class="py-name" href="#" onclick="return doclink('link-469', 'MSG_KEXINIT', 'link-313');">MSG_KEXINIT</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name" targets="Method paramiko.Message.get_so_far()=paramiko.Message-class.html#get_so_far"><a title="paramiko.Message.get_so_far" class="py-name" href="#" onclick="return doclink('link-470', 'get_so_far', 'link-470');">get_so_far</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1794"></a><tt class="py-lineno">1794</tt> <tt class="py-line"> </tt>
-<a name="Transport._activate_inbound"></a><div id="Transport._activate_inbound-def"><a name="L1795"></a><tt class="py-lineno">1795</tt> <a class="py-toggle" href="#" id="Transport._activate_inbound-toggle" onclick="return toggle('Transport._activate_inbound');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_activate_inbound">_activate_inbound</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._activate_inbound-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._activate_inbound-expanded"><a name="L1796"></a><tt class="py-lineno">1796</tt> <tt class="py-line"> <tt class="py-docstring">"switch on newly negotiated encryption parameters for inbound traffic"</tt> </tt>
-<a name="L1797"></a><tt class="py-lineno">1797</tt> <tt class="py-line"> <tt class="py-name">block_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-471', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'block-size'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1798"></a><tt class="py-lineno">1798</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1799"></a><tt class="py-lineno">1799</tt> <tt class="py-line"> <tt class="py-name">IV_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'A'</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1800"></a><tt class="py-lineno">1800</tt> <tt class="py-line"> <tt class="py-name">key_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'C'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-472', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'key-size'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1801"></a><tt class="py-lineno">1801</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1802"></a><tt class="py-lineno">1802</tt> <tt class="py-line"> <tt class="py-name">IV_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'B'</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1803"></a><tt class="py-lineno">1803</tt> <tt class="py-line"> <tt class="py-name">key_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'D'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-473', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'key-size'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1804"></a><tt class="py-lineno">1804</tt> <tt class="py-line"> <tt class="py-name">engine</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_get_cipher</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_cipher</tt><tt class="py-op">,</tt> <tt class="py-name">key_in</tt><tt class="py-op">,</tt> <tt class="py-name">IV_in</tt><tt class="py-op">)</tt> </tt>
-<a name="L1805"></a><tt class="py-lineno">1805</tt> <tt class="py-line"> <tt class="py-name">mac_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="paramiko.Transport._mac_info" class="py-name" href="#" onclick="return doclink('link-474', '_mac_info', 'link-86');">_mac_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_mac</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'size'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1806"></a><tt class="py-lineno">1806</tt> <tt class="py-line"> <tt class="py-name">mac_engine</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="paramiko.Transport._mac_info" class="py-name" href="#" onclick="return doclink('link-475', '_mac_info', 'link-86');">_mac_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_mac</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1807"></a><tt class="py-lineno">1807</tt> <tt class="py-line"> <tt class="py-comment"># initial mac keys are done in the hash's natural size (not the potentially truncated</tt> </tt>
-<a name="L1808"></a><tt class="py-lineno">1808</tt> <tt class="py-line"> <tt class="py-comment"># transmission size)</tt> </tt>
-<a name="L1809"></a><tt class="py-lineno">1809</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1810"></a><tt class="py-lineno">1810</tt> <tt class="py-line"> <tt class="py-name">mac_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'E'</tt><tt class="py-op">,</tt> <tt class="py-name">mac_engine</tt><tt class="py-op">.</tt><tt class="py-name">digest_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1811"></a><tt class="py-lineno">1811</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1812"></a><tt class="py-lineno">1812</tt> <tt class="py-line"> <tt class="py-name">mac_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'F'</tt><tt class="py-op">,</tt> <tt class="py-name">mac_engine</tt><tt class="py-op">.</tt><tt class="py-name">digest_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1813"></a><tt class="py-lineno">1813</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_inbound_cipher</tt><tt class="py-op">(</tt><tt class="py-name">engine</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">,</tt> <tt class="py-name">mac_engine</tt><tt class="py-op">,</tt> <tt class="py-name">mac_size</tt><tt class="py-op">,</tt> <tt class="py-name">mac_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L1814"></a><tt class="py-lineno">1814</tt> <tt class="py-line"> <tt class="py-name">compress_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="paramiko.Transport._compression_info" class="py-name" href="#" onclick="return doclink('link-476', '_compression_info', 'link-93');">_compression_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L1815"></a><tt class="py-lineno">1815</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">compress_in</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt> <tt class="py-op">!=</tt> <tt class="py-string">'zlib@openssh.com'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1816"></a><tt class="py-lineno">1816</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-477" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-477', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Switching on inbound compression ...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1817"></a><tt class="py-lineno">1817</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_inbound_compressor</tt><tt class="py-op">(</tt><tt class="py-name">compress_in</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1818"></a><tt class="py-lineno">1818</tt> <tt class="py-line"> </tt>
-<a name="Transport._activate_outbound"></a><div id="Transport._activate_outbound-def"><a name="L1819"></a><tt class="py-lineno">1819</tt> <a class="py-toggle" href="#" id="Transport._activate_outbound-toggle" onclick="return toggle('Transport._activate_outbound');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_activate_outbound">_activate_outbound</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._activate_outbound-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._activate_outbound-expanded"><a name="L1820"></a><tt class="py-lineno">1820</tt> <tt class="py-line"> <tt class="py-docstring">"switch on newly negotiated encryption parameters for outbound traffic"</tt> </tt>
-<a name="L1821"></a><tt class="py-lineno">1821</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-478" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-478', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1822"></a><tt class="py-lineno">1822</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-479', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-480" class="py-name" targets="Variable paramiko.auth_handler.MSG_NEWKEYS=paramiko.auth_handler-module.html#MSG_NEWKEYS,Variable paramiko.channel.MSG_NEWKEYS=paramiko.channel-module.html#MSG_NEWKEYS,Variable paramiko.client.MSG_NEWKEYS=paramiko.client-module.html#MSG_NEWKEYS,Variable paramiko.common.MSG_NEWKEYS=paramiko.common-module.html#MSG_NEWKEYS,Variable paramiko.dsskey.MSG_NEWKEYS=paramiko.dsskey-module.html#MSG_NEWKEYS,Variable paramiko.hostkeys.MSG_NEWKEYS=paramiko.hostkeys-module.html#MSG_NEWKEYS,Variable paramiko.kex_gex.MSG_NEWKEYS=paramiko.kex_gex-module.html#MSG_NEWKEYS,Variable paramiko.kex_group1.MSG_NEWKEYS=paramiko.kex_group1-module.html#MSG_NEWKEYS,Variable paramiko.packet.MSG_NEWKEYS=paramiko.packet-module.html#MSG_NEWKEYS,Variable paramiko.pkey.MSG_NEWKEYS=paramiko.pkey-module.html#MSG_NEWKEYS,Variable paramiko.rsakey.MSG_NEWKEYS=paramiko.rsakey-module.html#MSG_NEWKEYS,Variable paramiko.server.MSG_NEWKEYS=paramiko.server-module.html#MSG_NEWKEYS,Variable paramiko.sftp.MSG_NEWKEYS=paramiko.sftp-module.html#MSG_NEWKEYS,Variable paramiko.sftp_attr.MSG_NEWKEYS=paramiko.sftp_attr-module.html#MSG_NEWKEYS,Variable paramiko.sftp_client.MSG_NEWKEYS=paramiko.sftp_client-module.html#MSG_NEWKEYS,Variable paramiko.sftp_file.MSG_NEWKEYS=paramiko.sftp_file-module.html#MSG_NEWKEYS,Variable paramiko.sftp_handle.MSG_NEWKEYS=paramiko.sftp_handle-module.html#MSG_NEWKEYS,Variable paramiko.sftp_server.MSG_NEWKEYS=paramiko.sftp_server-module.html#MSG_NEWKEYS,Variable paramiko.sftp_si.MSG_NEWKEYS=paramiko.sftp_si-module.html#MSG_NEWKEYS,Variable paramiko.transport.MSG_NEWKEYS=paramiko.transport-module.html#MSG_NEWKEYS,Variable paramiko.util.MSG_NEWKEYS=paramiko.util-module.html#MSG_NEWKEYS"><a title="paramiko.auth_handler.MSG_NEWKEYS
-paramiko.channel.MSG_NEWKEYS
-paramiko.client.MSG_NEWKEYS
-paramiko.common.MSG_NEWKEYS
-paramiko.dsskey.MSG_NEWKEYS
-paramiko.hostkeys.MSG_NEWKEYS
-paramiko.kex_gex.MSG_NEWKEYS
-paramiko.kex_group1.MSG_NEWKEYS
-paramiko.packet.MSG_NEWKEYS
-paramiko.pkey.MSG_NEWKEYS
-paramiko.rsakey.MSG_NEWKEYS
-paramiko.server.MSG_NEWKEYS
-paramiko.sftp.MSG_NEWKEYS
-paramiko.sftp_attr.MSG_NEWKEYS
-paramiko.sftp_client.MSG_NEWKEYS
-paramiko.sftp_file.MSG_NEWKEYS
-paramiko.sftp_handle.MSG_NEWKEYS
-paramiko.sftp_server.MSG_NEWKEYS
-paramiko.sftp_si.MSG_NEWKEYS
-paramiko.transport.MSG_NEWKEYS
-paramiko.util.MSG_NEWKEYS" class="py-name" href="#" onclick="return doclink('link-480', 'MSG_NEWKEYS', 'link-480');">MSG_NEWKEYS</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1823"></a><tt class="py-lineno">1823</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1824"></a><tt class="py-lineno">1824</tt> <tt class="py-line"> <tt class="py-name">block_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-481', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'block-size'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1825"></a><tt class="py-lineno">1825</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1826"></a><tt class="py-lineno">1826</tt> <tt class="py-line"> <tt class="py-name">IV_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'B'</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1827"></a><tt class="py-lineno">1827</tt> <tt class="py-line"> <tt class="py-name">key_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'D'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-482', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'key-size'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1828"></a><tt class="py-lineno">1828</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1829"></a><tt class="py-lineno">1829</tt> <tt class="py-line"> <tt class="py-name">IV_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'A'</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1830"></a><tt class="py-lineno">1830</tt> <tt class="py-line"> <tt class="py-name">key_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'C'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="paramiko.Transport._cipher_info" class="py-name" href="#" onclick="return doclink('link-483', '_cipher_info', 'link-85');">_cipher_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'key-size'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1831"></a><tt class="py-lineno">1831</tt> <tt class="py-line"> <tt class="py-name">engine</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_get_cipher</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_cipher</tt><tt class="py-op">,</tt> <tt class="py-name">key_out</tt><tt class="py-op">,</tt> <tt class="py-name">IV_out</tt><tt class="py-op">)</tt> </tt>
-<a name="L1832"></a><tt class="py-lineno">1832</tt> <tt class="py-line"> <tt class="py-name">mac_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-484" class="py-name"><a title="paramiko.Transport._mac_info" class="py-name" href="#" onclick="return doclink('link-484', '_mac_info', 'link-86');">_mac_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_mac</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'size'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1833"></a><tt class="py-lineno">1833</tt> <tt class="py-line"> <tt class="py-name">mac_engine</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="paramiko.Transport._mac_info" class="py-name" href="#" onclick="return doclink('link-485', '_mac_info', 'link-86');">_mac_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_mac</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1834"></a><tt class="py-lineno">1834</tt> <tt class="py-line"> <tt class="py-comment"># initial mac keys are done in the hash's natural size (not the potentially truncated</tt> </tt>
-<a name="L1835"></a><tt class="py-lineno">1835</tt> <tt class="py-line"> <tt class="py-comment"># transmission size)</tt> </tt>
-<a name="L1836"></a><tt class="py-lineno">1836</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1837"></a><tt class="py-lineno">1837</tt> <tt class="py-line"> <tt class="py-name">mac_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'F'</tt><tt class="py-op">,</tt> <tt class="py-name">mac_engine</tt><tt class="py-op">.</tt><tt class="py-name">digest_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1838"></a><tt class="py-lineno">1838</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1839"></a><tt class="py-lineno">1839</tt> <tt class="py-line"> <tt class="py-name">mac_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_compute_key</tt><tt class="py-op">(</tt><tt class="py-string">'E'</tt><tt class="py-op">,</tt> <tt class="py-name">mac_engine</tt><tt class="py-op">.</tt><tt class="py-name">digest_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1840"></a><tt class="py-lineno">1840</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_outbound_cipher</tt><tt class="py-op">(</tt><tt class="py-name">engine</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">,</tt> <tt class="py-name">mac_engine</tt><tt class="py-op">,</tt> <tt class="py-name">mac_size</tt><tt class="py-op">,</tt> <tt class="py-name">mac_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L1841"></a><tt class="py-lineno">1841</tt> <tt class="py-line"> <tt class="py-name">compress_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-486" class="py-name"><a title="paramiko.Transport._compression_info" class="py-name" href="#" onclick="return doclink('link-486', '_compression_info', 'link-93');">_compression_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1842"></a><tt class="py-lineno">1842</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">compress_out</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt> <tt class="py-op">!=</tt> <tt class="py-string">'zlib@openssh.com'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1843"></a><tt class="py-lineno">1843</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-487" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-487', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Switching on outbound compression ...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1844"></a><tt class="py-lineno">1844</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_outbound_compressor</tt><tt class="py-op">(</tt><tt class="py-name">compress_out</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1845"></a><tt class="py-lineno">1845</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">need_rekey</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1846"></a><tt class="py-lineno">1846</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_kex</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1847"></a><tt class="py-lineno">1847</tt> <tt class="py-line"> <tt class="py-comment"># we always expect to receive NEWKEYS now</tt> </tt>
-<a name="L1848"></a><tt class="py-lineno">1848</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_expect_packet</tt><tt class="py-op">(</tt><tt id="link-488" class="py-name"><a title="paramiko.auth_handler.MSG_NEWKEYS
-paramiko.channel.MSG_NEWKEYS
-paramiko.client.MSG_NEWKEYS
-paramiko.common.MSG_NEWKEYS
-paramiko.dsskey.MSG_NEWKEYS
-paramiko.hostkeys.MSG_NEWKEYS
-paramiko.kex_gex.MSG_NEWKEYS
-paramiko.kex_group1.MSG_NEWKEYS
-paramiko.packet.MSG_NEWKEYS
-paramiko.pkey.MSG_NEWKEYS
-paramiko.rsakey.MSG_NEWKEYS
-paramiko.server.MSG_NEWKEYS
-paramiko.sftp.MSG_NEWKEYS
-paramiko.sftp_attr.MSG_NEWKEYS
-paramiko.sftp_client.MSG_NEWKEYS
-paramiko.sftp_file.MSG_NEWKEYS
-paramiko.sftp_handle.MSG_NEWKEYS
-paramiko.sftp_server.MSG_NEWKEYS
-paramiko.sftp_si.MSG_NEWKEYS
-paramiko.transport.MSG_NEWKEYS
-paramiko.util.MSG_NEWKEYS" class="py-name" href="#" onclick="return doclink('link-488', 'MSG_NEWKEYS', 'link-480');">MSG_NEWKEYS</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1849"></a><tt class="py-lineno">1849</tt> <tt class="py-line"> </tt>
-<a name="Transport._auth_trigger"></a><div id="Transport._auth_trigger-def"><a name="L1850"></a><tt class="py-lineno">1850</tt> <a class="py-toggle" href="#" id="Transport._auth_trigger-toggle" onclick="return toggle('Transport._auth_trigger');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_auth_trigger">_auth_trigger</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._auth_trigger-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._auth_trigger-expanded"><a name="L1851"></a><tt class="py-lineno">1851</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">authenticated</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1852"></a><tt class="py-lineno">1852</tt> <tt class="py-line"> <tt class="py-comment"># delayed initiation of compression</tt> </tt>
-<a name="L1853"></a><tt class="py-lineno">1853</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt> <tt class="py-op">==</tt> <tt class="py-string">'zlib@openssh.com'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1854"></a><tt class="py-lineno">1854</tt> <tt class="py-line"> <tt class="py-name">compress_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="paramiko.Transport._compression_info" class="py-name" href="#" onclick="return doclink('link-489', '_compression_info', 'link-93');">_compression_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_compression</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L1855"></a><tt class="py-lineno">1855</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-490" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-490', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Switching on outbound compression ...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1856"></a><tt class="py-lineno">1856</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_outbound_compressor</tt><tt class="py-op">(</tt><tt class="py-name">compress_out</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1857"></a><tt class="py-lineno">1857</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt> <tt class="py-op">==</tt> <tt class="py-string">'zlib@openssh.com'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1858"></a><tt class="py-lineno">1858</tt> <tt class="py-line"> <tt class="py-name">compress_in</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="paramiko.Transport._compression_info" class="py-name" href="#" onclick="return doclink('link-491', '_compression_info', 'link-93');">_compression_info</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_compression</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L1859"></a><tt class="py-lineno">1859</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-492" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-492', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Switching on inbound compression ...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1860"></a><tt class="py-lineno">1860</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">set_inbound_compressor</tt><tt class="py-op">(</tt><tt class="py-name">compress_in</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1861"></a><tt class="py-lineno">1861</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_newkeys"></a><div id="Transport._parse_newkeys-def"><a name="L1862"></a><tt class="py-lineno">1862</tt> <a class="py-toggle" href="#" id="Transport._parse_newkeys-toggle" onclick="return toggle('Transport._parse_newkeys');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_newkeys">_parse_newkeys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_newkeys-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_newkeys-expanded"><a name="L1863"></a><tt class="py-lineno">1863</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-493" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-493', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Switch to new keys ...'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1864"></a><tt class="py-lineno">1864</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_activate_inbound</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1865"></a><tt class="py-lineno">1865</tt> <tt class="py-line"> <tt class="py-comment"># can also free a bunch of stuff here</tt> </tt>
-<a name="L1866"></a><tt class="py-lineno">1866</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">local_kex_init</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">remote_kex_init</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1867"></a><tt class="py-lineno">1867</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">K</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1868"></a><tt class="py-lineno">1868</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kex_engine</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1869"></a><tt class="py-lineno">1869</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-494', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1870"></a><tt class="py-lineno">1870</tt> <tt class="py-line"> <tt class="py-comment"># create auth handler for server mode</tt> </tt>
-<a name="L1871"></a><tt class="py-lineno">1871</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="paramiko.auth_handler" class="py-name" href="#" onclick="return doclink('link-495', 'auth_handler', 'link-3');">auth_handler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">AuthHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L1872"></a><tt class="py-lineno">1872</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt><tt class="py-op">:</tt> </tt>
-<a name="L1873"></a><tt class="py-lineno">1873</tt> <tt class="py-line"> <tt class="py-comment"># this was the first key exchange</tt> </tt>
-<a name="L1874"></a><tt class="py-lineno">1874</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initial_kex_done</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1875"></a><tt class="py-lineno">1875</tt> <tt class="py-line"> <tt class="py-comment"># send an event?</tt> </tt>
-<a name="L1876"></a><tt class="py-lineno">1876</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1877"></a><tt class="py-lineno">1877</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-496', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1878"></a><tt class="py-lineno">1878</tt> <tt class="py-line"> <tt class="py-comment"># it's now okay to send data again (if this was a re-key)</tt> </tt>
-<a name="L1879"></a><tt class="py-lineno">1879</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">packetizer</tt><tt class="py-op">.</tt><tt class="py-name">need_rekey</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1880"></a><tt class="py-lineno">1880</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_kex</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1881"></a><tt class="py-lineno">1881</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1882"></a><tt class="py-lineno">1882</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1883"></a><tt class="py-lineno">1883</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-497', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1884"></a><tt class="py-lineno">1884</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1885"></a><tt class="py-lineno">1885</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clear_to_send_lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1886"></a><tt class="py-lineno">1886</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L1887"></a><tt class="py-lineno">1887</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_disconnect"></a><div id="Transport._parse_disconnect-def"><a name="L1888"></a><tt class="py-lineno">1888</tt> <a class="py-toggle" href="#" id="Transport._parse_disconnect-toggle" onclick="return toggle('Transport._parse_disconnect');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_disconnect">_parse_disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_disconnect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_disconnect-expanded"><a name="L1889"></a><tt class="py-lineno">1889</tt> <tt class="py-line"> <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-498', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1890"></a><tt class="py-lineno">1890</tt> <tt class="py-line"> <tt class="py-name">desc</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name" targets="Method paramiko.Message.get_string()=paramiko.Message-class.html#get_string"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-499', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1891"></a><tt class="py-lineno">1891</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-500" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-500', 'INFO', 'link-371');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Disconnect (code %d): %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1892"></a><tt class="py-lineno">1892</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_global_request"></a><div id="Transport._parse_global_request-def"><a name="L1893"></a><tt class="py-lineno">1893</tt> <a class="py-toggle" href="#" id="Transport._parse_global_request-toggle" onclick="return toggle('Transport._parse_global_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_global_request">_parse_global_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_global_request-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_global_request-expanded"><a name="L1894"></a><tt class="py-lineno">1894</tt> <tt class="py-line"> <tt class="py-name">kind</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-501', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1895"></a><tt class="py-lineno">1895</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-502" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-502', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Received global request "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L1896"></a><tt class="py-lineno">1896</tt> <tt class="py-line"> <tt class="py-name">want_reply</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-503', 'get_boolean', 'link-421');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1897"></a><tt class="py-lineno">1897</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L1898"></a><tt class="py-lineno">1898</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-504" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-504', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Rejecting "%s" global request from server.'</tt> <tt class="py-op">%</tt> <tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L1899"></a><tt class="py-lineno">1899</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1900"></a><tt class="py-lineno">1900</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'tcpip-forward'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1901"></a><tt class="py-lineno">1901</tt> <tt class="py-line"> <tt class="py-name">address</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-505', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1902"></a><tt class="py-lineno">1902</tt> <tt class="py-line"> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-506', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1903"></a><tt class="py-lineno">1903</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-507" class="py-name" targets="Method paramiko.ServerInterface.check_port_forward_request()=paramiko.ServerInterface-class.html#check_port_forward_request"><a title="paramiko.ServerInterface.check_port_forward_request" class="py-name" href="#" onclick="return doclink('link-507', 'check_port_forward_request', 'link-507');">check_port_forward_request</a></tt><tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> </tt>
-<a name="L1904"></a><tt class="py-lineno">1904</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ok</tt> <tt class="py-op">!=</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
-<a name="L1905"></a><tt class="py-lineno">1905</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">ok</tt><tt class="py-op">,</tt><tt class="py-op">)</tt> </tt>
-<a name="L1906"></a><tt class="py-lineno">1906</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'cancel-tcpip-forward'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1907"></a><tt class="py-lineno">1907</tt> <tt class="py-line"> <tt class="py-name">address</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-508', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1908"></a><tt class="py-lineno">1908</tt> <tt class="py-line"> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-509', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1909"></a><tt class="py-lineno">1909</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-510" class="py-name" targets="Method paramiko.ServerInterface.cancel_port_forward_request()=paramiko.ServerInterface-class.html#cancel_port_forward_request"><a title="paramiko.ServerInterface.cancel_port_forward_request" class="py-name" href="#" onclick="return doclink('link-510', 'cancel_port_forward_request', 'link-510');">cancel_port_forward_request</a></tt><tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> </tt>
-<a name="L1910"></a><tt class="py-lineno">1910</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1911"></a><tt class="py-lineno">1911</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1912"></a><tt class="py-lineno">1912</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name" targets="Method paramiko.ServerInterface.check_global_request()=paramiko.ServerInterface-class.html#check_global_request"><a title="paramiko.ServerInterface.check_global_request" class="py-name" href="#" onclick="return doclink('link-511', 'check_global_request', 'link-511');">check_global_request</a></tt><tt class="py-op">(</tt><tt class="py-name">kind</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L1913"></a><tt class="py-lineno">1913</tt> <tt class="py-line"> <tt class="py-name">extra</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1914"></a><tt class="py-lineno">1914</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">ok</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">tuple</tt><tt class="py-op">:</tt> </tt>
-<a name="L1915"></a><tt class="py-lineno">1915</tt> <tt class="py-line"> <tt class="py-name">extra</tt> <tt class="py-op">=</tt> <tt class="py-name">ok</tt> </tt>
-<a name="L1916"></a><tt class="py-lineno">1916</tt> <tt class="py-line"> <tt class="py-name">ok</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1917"></a><tt class="py-lineno">1917</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">want_reply</tt><tt class="py-op">:</tt> </tt>
-<a name="L1918"></a><tt class="py-lineno">1918</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-512" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-512', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1919"></a><tt class="py-lineno">1919</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ok</tt><tt class="py-op">:</tt> </tt>
-<a name="L1920"></a><tt class="py-lineno">1920</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-513', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-514" class="py-name" targets="Variable paramiko.auth_handler.MSG_REQUEST_SUCCESS=paramiko.auth_handler-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.channel.MSG_REQUEST_SUCCESS=paramiko.channel-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.client.MSG_REQUEST_SUCCESS=paramiko.client-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.common.MSG_REQUEST_SUCCESS=paramiko.common-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.dsskey.MSG_REQUEST_SUCCESS=paramiko.dsskey-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.hostkeys.MSG_REQUEST_SUCCESS=paramiko.hostkeys-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.kex_gex.MSG_REQUEST_SUCCESS=paramiko.kex_gex-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.kex_group1.MSG_REQUEST_SUCCESS=paramiko.kex_group1-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.packet.MSG_REQUEST_SUCCESS=paramiko.packet-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.pkey.MSG_REQUEST_SUCCESS=paramiko.pkey-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.rsakey.MSG_REQUEST_SUCCESS=paramiko.rsakey-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.server.MSG_REQUEST_SUCCESS=paramiko.server-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp.MSG_REQUEST_SUCCESS=paramiko.sftp-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_attr.MSG_REQUEST_SUCCESS=paramiko.sftp_attr-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_client.MSG_REQUEST_SUCCESS=paramiko.sftp_client-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_file.MSG_REQUEST_SUCCESS=paramiko.sftp_file-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_handle.MSG_REQUEST_SUCCESS=paramiko.sftp_handle-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_server.MSG_REQUEST_SUCCESS=paramiko.sftp_server-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.sftp_si.MSG_REQUEST_SUCCESS=paramiko.sftp_si-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.transport.MSG_REQUEST_SUCCESS=paramiko.transport-module.html#MSG_REQUEST_SUCCESS,Variable paramiko.util.MSG_REQUEST_SUCCESS=paramiko.util-module.html#MSG_REQUEST_SUCCESS"><a title="paramiko.auth_handler.MSG_REQUEST_SUCCESS
-paramiko.channel.MSG_REQUEST_SUCCESS
-paramiko.client.MSG_REQUEST_SUCCESS
-paramiko.common.MSG_REQUEST_SUCCESS
-paramiko.dsskey.MSG_REQUEST_SUCCESS
-paramiko.hostkeys.MSG_REQUEST_SUCCESS
-paramiko.kex_gex.MSG_REQUEST_SUCCESS
-paramiko.kex_group1.MSG_REQUEST_SUCCESS
-paramiko.packet.MSG_REQUEST_SUCCESS
-paramiko.pkey.MSG_REQUEST_SUCCESS
-paramiko.rsakey.MSG_REQUEST_SUCCESS
-paramiko.server.MSG_REQUEST_SUCCESS
-paramiko.sftp.MSG_REQUEST_SUCCESS
-paramiko.sftp_attr.MSG_REQUEST_SUCCESS
-paramiko.sftp_client.MSG_REQUEST_SUCCESS
-paramiko.sftp_file.MSG_REQUEST_SUCCESS
-paramiko.sftp_handle.MSG_REQUEST_SUCCESS
-paramiko.sftp_server.MSG_REQUEST_SUCCESS
-paramiko.sftp_si.MSG_REQUEST_SUCCESS
-paramiko.transport.MSG_REQUEST_SUCCESS
-paramiko.util.MSG_REQUEST_SUCCESS" class="py-name" href="#" onclick="return doclink('link-514', 'MSG_REQUEST_SUCCESS', 'link-514');">MSG_REQUEST_SUCCESS</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1921"></a><tt class="py-lineno">1921</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="paramiko.HostKeys.add
-paramiko.Message.add" class="py-name" href="#" onclick="return doclink('link-515', 'add', 'link-191');">add</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">extra</tt><tt class="py-op">)</tt> </tt>
-<a name="L1922"></a><tt class="py-lineno">1922</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1923"></a><tt class="py-lineno">1923</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-516', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-517" class="py-name" targets="Variable paramiko.auth_handler.MSG_REQUEST_FAILURE=paramiko.auth_handler-module.html#MSG_REQUEST_FAILURE,Variable paramiko.channel.MSG_REQUEST_FAILURE=paramiko.channel-module.html#MSG_REQUEST_FAILURE,Variable paramiko.client.MSG_REQUEST_FAILURE=paramiko.client-module.html#MSG_REQUEST_FAILURE,Variable paramiko.common.MSG_REQUEST_FAILURE=paramiko.common-module.html#MSG_REQUEST_FAILURE,Variable paramiko.dsskey.MSG_REQUEST_FAILURE=paramiko.dsskey-module.html#MSG_REQUEST_FAILURE,Variable paramiko.hostkeys.MSG_REQUEST_FAILURE=paramiko.hostkeys-module.html#MSG_REQUEST_FAILURE,Variable paramiko.kex_gex.MSG_REQUEST_FAILURE=paramiko.kex_gex-module.html#MSG_REQUEST_FAILURE,Variable paramiko.kex_group1.MSG_REQUEST_FAILURE=paramiko.kex_group1-module.html#MSG_REQUEST_FAILURE,Variable paramiko.packet.MSG_REQUEST_FAILURE=paramiko.packet-module.html#MSG_REQUEST_FAILURE,Variable paramiko.pkey.MSG_REQUEST_FAILURE=paramiko.pkey-module.html#MSG_REQUEST_FAILURE,Variable paramiko.rsakey.MSG_REQUEST_FAILURE=paramiko.rsakey-module.html#MSG_REQUEST_FAILURE,Variable paramiko.server.MSG_REQUEST_FAILURE=paramiko.server-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp.MSG_REQUEST_FAILURE=paramiko.sftp-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_attr.MSG_REQUEST_FAILURE=paramiko.sftp_attr-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_client.MSG_REQUEST_FAILURE=paramiko.sftp_client-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_file.MSG_REQUEST_FAILURE=paramiko.sftp_file-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_handle.MSG_REQUEST_FAILURE=paramiko.sftp_handle-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_server.MSG_REQUEST_FAILURE=paramiko.sftp_server-module.html#MSG_REQUEST_FAILURE,Variable paramiko.sftp_si.MSG_REQUEST_FAILURE=paramiko.sftp_si-module.html#MSG_REQUEST_FAILURE,Variable paramiko.transport.MSG_REQUEST_FAILURE=paramiko.transport-module.html#MSG_REQUEST_FAILURE,Variable paramiko.util.MSG_REQUEST_FAILURE=paramiko.util-module.html#MSG_REQUEST_FAILURE"><a title="paramiko.auth_handler.MSG_REQUEST_FAILURE
-paramiko.channel.MSG_REQUEST_FAILURE
-paramiko.client.MSG_REQUEST_FAILURE
-paramiko.common.MSG_REQUEST_FAILURE
-paramiko.dsskey.MSG_REQUEST_FAILURE
-paramiko.hostkeys.MSG_REQUEST_FAILURE
-paramiko.kex_gex.MSG_REQUEST_FAILURE
-paramiko.kex_group1.MSG_REQUEST_FAILURE
-paramiko.packet.MSG_REQUEST_FAILURE
-paramiko.pkey.MSG_REQUEST_FAILURE
-paramiko.rsakey.MSG_REQUEST_FAILURE
-paramiko.server.MSG_REQUEST_FAILURE
-paramiko.sftp.MSG_REQUEST_FAILURE
-paramiko.sftp_attr.MSG_REQUEST_FAILURE
-paramiko.sftp_client.MSG_REQUEST_FAILURE
-paramiko.sftp_file.MSG_REQUEST_FAILURE
-paramiko.sftp_handle.MSG_REQUEST_FAILURE
-paramiko.sftp_server.MSG_REQUEST_FAILURE
-paramiko.sftp_si.MSG_REQUEST_FAILURE
-paramiko.transport.MSG_REQUEST_FAILURE
-paramiko.util.MSG_REQUEST_FAILURE" class="py-name" href="#" onclick="return doclink('link-517', 'MSG_REQUEST_FAILURE', 'link-517');">MSG_REQUEST_FAILURE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1924"></a><tt class="py-lineno">1924</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1925"></a><tt class="py-lineno">1925</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_request_success"></a><div id="Transport._parse_request_success-def"><a name="L1926"></a><tt class="py-lineno">1926</tt> <a class="py-toggle" href="#" id="Transport._parse_request_success-toggle" onclick="return toggle('Transport._parse_request_success');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_request_success">_parse_request_success</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_request_success-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_request_success-expanded"><a name="L1927"></a><tt class="py-lineno">1927</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-518" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-518', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Global request successful.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1928"></a><tt class="py-lineno">1928</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">global_response</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt> </tt>
-<a name="L1929"></a><tt class="py-lineno">1929</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1930"></a><tt class="py-lineno">1930</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-519', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1931"></a><tt class="py-lineno">1931</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_request_failure"></a><div id="Transport._parse_request_failure-def"><a name="L1932"></a><tt class="py-lineno">1932</tt> <a class="py-toggle" href="#" id="Transport._parse_request_failure-toggle" onclick="return toggle('Transport._parse_request_failure');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_request_failure">_parse_request_failure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_request_failure-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_request_failure-expanded"><a name="L1933"></a><tt class="py-lineno">1933</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-520" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-520', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Global request denied.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1934"></a><tt class="py-lineno">1934</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">global_response</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1935"></a><tt class="py-lineno">1935</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1936"></a><tt class="py-lineno">1936</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">completion_event</tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-521', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1937"></a><tt class="py-lineno">1937</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_channel_open_success"></a><div id="Transport._parse_channel_open_success-def"><a name="L1938"></a><tt class="py-lineno">1938</tt> <a class="py-toggle" href="#" id="Transport._parse_channel_open_success-toggle" onclick="return toggle('Transport._parse_channel_open_success');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_channel_open_success">_parse_channel_open_success</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_channel_open_success-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_channel_open_success-expanded"><a name="L1939"></a><tt class="py-lineno">1939</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-522', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1940"></a><tt class="py-lineno">1940</tt> <tt class="py-line"> <tt class="py-name">server_chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-523', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1941"></a><tt class="py-lineno">1941</tt> <tt class="py-line"> <tt class="py-name">server_window_size</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-524', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1942"></a><tt class="py-lineno">1942</tt> <tt class="py-line"> <tt class="py-name">server_max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-525', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1943"></a><tt class="py-lineno">1943</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-526', 'get', 'link-76');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1944"></a><tt class="py-lineno">1944</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chan</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1945"></a><tt class="py-lineno">1945</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-527" class="py-name"><a title="paramiko.auth_handler.WARNING
-paramiko.channel.WARNING
-paramiko.client.WARNING
-paramiko.common.WARNING
-paramiko.dsskey.WARNING
-paramiko.hostkeys.WARNING
-paramiko.kex_gex.WARNING
-paramiko.kex_group1.WARNING
-paramiko.logging22.WARNING
-paramiko.packet.WARNING
-paramiko.pkey.WARNING
-paramiko.rsakey.WARNING
-paramiko.server.WARNING
-paramiko.sftp.WARNING
-paramiko.sftp_attr.WARNING
-paramiko.sftp_client.WARNING
-paramiko.sftp_file.WARNING
-paramiko.sftp_handle.WARNING
-paramiko.sftp_server.WARNING
-paramiko.sftp_si.WARNING
-paramiko.transport.WARNING
-paramiko.util.WARNING" class="py-name" href="#" onclick="return doclink('link-527', 'WARNING', 'link-336');">WARNING</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Success for unrequested channel! [??]'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1946"></a><tt class="py-lineno">1946</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L1947"></a><tt class="py-lineno">1947</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1948"></a><tt class="py-lineno">1948</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1949"></a><tt class="py-lineno">1949</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_set_remote_channel</tt><tt class="py-op">(</tt><tt class="py-name">server_chanid</tt><tt class="py-op">,</tt> <tt class="py-name">server_window_size</tt><tt class="py-op">,</tt> <tt class="py-name">server_max_packet_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L1950"></a><tt class="py-lineno">1950</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-528" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-528', 'INFO', 'link-371');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Secsh channel %d opened.'</tt> <tt class="py-op">%</tt> <tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1951"></a><tt class="py-lineno">1951</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chanid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">:</tt> </tt>
-<a name="L1952"></a><tt class="py-lineno">1952</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-529', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1953"></a><tt class="py-lineno">1953</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt> </tt>
-<a name="L1954"></a><tt class="py-lineno">1954</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1955"></a><tt class="py-lineno">1955</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1956"></a><tt class="py-lineno">1956</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L1957"></a><tt class="py-lineno">1957</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_channel_open_failure"></a><div id="Transport._parse_channel_open_failure-def"><a name="L1958"></a><tt class="py-lineno">1958</tt> <a class="py-toggle" href="#" id="Transport._parse_channel_open_failure-toggle" onclick="return toggle('Transport._parse_channel_open_failure');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_channel_open_failure">_parse_channel_open_failure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_channel_open_failure-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_channel_open_failure-expanded"><a name="L1959"></a><tt class="py-lineno">1959</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-530', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1960"></a><tt class="py-lineno">1960</tt> <tt class="py-line"> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-531', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1961"></a><tt class="py-lineno">1961</tt> <tt class="py-line"> <tt class="py-name">reason_str</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-532', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1962"></a><tt class="py-lineno">1962</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-533', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1963"></a><tt class="py-lineno">1963</tt> <tt class="py-line"> <tt class="py-name">reason_text</tt> <tt class="py-op">=</tt> <tt id="link-534" class="py-name" targets="Variable paramiko.auth_handler.CONNECTION_FAILED_CODE=paramiko.auth_handler-module.html#CONNECTION_FAILED_CODE,Variable paramiko.channel.CONNECTION_FAILED_CODE=paramiko.channel-module.html#CONNECTION_FAILED_CODE,Variable paramiko.client.CONNECTION_FAILED_CODE=paramiko.client-module.html#CONNECTION_FAILED_CODE,Variable paramiko.common.CONNECTION_FAILED_CODE=paramiko.common-module.html#CONNECTION_FAILED_CODE,Variable paramiko.dsskey.CONNECTION_FAILED_CODE=paramiko.dsskey-module.html#CONNECTION_FAILED_CODE,Variable paramiko.hostkeys.CONNECTION_FAILED_CODE=paramiko.hostkeys-module.html#CONNECTION_FAILED_CODE,Variable paramiko.kex_gex.CONNECTION_FAILED_CODE=paramiko.kex_gex-module.html#CONNECTION_FAILED_CODE,Variable paramiko.kex_group1.CONNECTION_FAILED_CODE=paramiko.kex_group1-module.html#CONNECTION_FAILED_CODE,Variable paramiko.packet.CONNECTION_FAILED_CODE=paramiko.packet-module.html#CONNECTION_FAILED_CODE,Variable paramiko.pkey.CONNECTION_FAILED_CODE=paramiko.pkey-module.html#CONNECTION_FAILED_CODE,Variable paramiko.rsakey.CONNECTION_FAILED_CODE=paramiko.rsakey-module.html#CONNECTION_FAILED_CODE,Variable paramiko.server.CONNECTION_FAILED_CODE=paramiko.server-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp.CONNECTION_FAILED_CODE=paramiko.sftp-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_attr.CONNECTION_FAILED_CODE=paramiko.sftp_attr-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_client.CONNECTION_FAILED_CODE=paramiko.sftp_client-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_file.CONNECTION_FAILED_CODE=paramiko.sftp_file-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_handle.CONNECTION_FAILED_CODE=paramiko.sftp_handle-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_server.CONNECTION_FAILED_CODE=paramiko.sftp_server-module.html#CONNECTION_FAILED_CODE,Variable paramiko.sftp_si.CONNECTION_FAILED_CODE=paramiko.sftp_si-module.html#CONNECTION_FAILED_CODE,Variable paramiko.transport.CONNECTION_FAILED_CODE=paramiko.transport-module.html#CONNECTION_FAILED_CODE,Variable paramiko.util.CONNECTION_FAILED_CODE=paramiko.util-module.html#CONNECTION_FAILED_CODE"><a title="paramiko.auth_handler.CONNECTION_FAILED_CODE
-paramiko.channel.CONNECTION_FAILED_CODE
-paramiko.client.CONNECTION_FAILED_CODE
-paramiko.common.CONNECTION_FAILED_CODE
-paramiko.dsskey.CONNECTION_FAILED_CODE
-paramiko.hostkeys.CONNECTION_FAILED_CODE
-paramiko.kex_gex.CONNECTION_FAILED_CODE
-paramiko.kex_group1.CONNECTION_FAILED_CODE
-paramiko.packet.CONNECTION_FAILED_CODE
-paramiko.pkey.CONNECTION_FAILED_CODE
-paramiko.rsakey.CONNECTION_FAILED_CODE
-paramiko.server.CONNECTION_FAILED_CODE
-paramiko.sftp.CONNECTION_FAILED_CODE
-paramiko.sftp_attr.CONNECTION_FAILED_CODE
-paramiko.sftp_client.CONNECTION_FAILED_CODE
-paramiko.sftp_file.CONNECTION_FAILED_CODE
-paramiko.sftp_handle.CONNECTION_FAILED_CODE
-paramiko.sftp_server.CONNECTION_FAILED_CODE
-paramiko.sftp_si.CONNECTION_FAILED_CODE
-paramiko.transport.CONNECTION_FAILED_CODE
-paramiko.util.CONNECTION_FAILED_CODE" class="py-name" href="#" onclick="return doclink('link-534', 'CONNECTION_FAILED_CODE', 'link-534');">CONNECTION_FAILED_CODE</a></tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="paramiko.SFTPClient.get
-paramiko.transport.ChannelMap.get" class="py-name" href="#" onclick="return doclink('link-535', 'get', 'link-76');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">reason</tt><tt class="py-op">,</tt> <tt class="py-string">'(unknown code)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1964"></a><tt class="py-lineno">1964</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-536" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-536', 'INFO', 'link-371');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Secsh channel %d open FAILED: %s: %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">,</tt> <tt class="py-name">reason_str</tt><tt class="py-op">,</tt> <tt class="py-name">reason_text</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1965"></a><tt class="py-lineno">1965</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1966"></a><tt class="py-lineno">1966</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1967"></a><tt class="py-lineno">1967</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">saved_exception</tt> <tt class="py-op">=</tt> <tt id="link-537" class="py-name"><a title="paramiko.ChannelException" class="py-name" href="#" onclick="return doclink('link-537', 'ChannelException', 'link-44');">ChannelException</a></tt><tt class="py-op">(</tt><tt class="py-name">reason</tt><tt class="py-op">,</tt> <tt class="py-name">reason_text</tt><tt class="py-op">)</tt> </tt>
-<a name="L1968"></a><tt class="py-lineno">1968</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chanid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">:</tt> </tt>
-<a name="L1969"></a><tt class="py-lineno">1969</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="paramiko.transport.ChannelMap.delete" class="py-name" href="#" onclick="return doclink('link-538', 'delete', 'link-263');">delete</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L1970"></a><tt class="py-lineno">1970</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">chanid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">:</tt> </tt>
-<a name="L1971"></a><tt class="py-lineno">1971</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="paramiko.pipe.OrPipe.set
-paramiko.pipe.PosixPipe.set
-paramiko.pipe.WindowsPipe.set" class="py-name" href="#" onclick="return doclink('link-539', 'set', 'link-356');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1972"></a><tt class="py-lineno">1972</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel_events</tt><tt class="py-op">[</tt><tt class="py-name">chanid</tt><tt class="py-op">]</tt> </tt>
-<a name="L1973"></a><tt class="py-lineno">1973</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1974"></a><tt class="py-lineno">1974</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1975"></a><tt class="py-lineno">1975</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-</div><a name="L1976"></a><tt class="py-lineno">1976</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_channel_open"></a><div id="Transport._parse_channel_open-def"><a name="L1977"></a><tt class="py-lineno">1977</tt> <a class="py-toggle" href="#" id="Transport._parse_channel_open-toggle" onclick="return toggle('Transport._parse_channel_open');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_channel_open">_parse_channel_open</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_channel_open-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_channel_open-expanded"><a name="L1978"></a><tt class="py-lineno">1978</tt> <tt class="py-line"> <tt class="py-name">kind</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-540', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1979"></a><tt class="py-lineno">1979</tt> <tt class="py-line"> <tt class="py-name">chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-541', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1980"></a><tt class="py-lineno">1980</tt> <tt class="py-line"> <tt class="py-name">initial_window_size</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-542', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1981"></a><tt class="py-lineno">1981</tt> <tt class="py-line"> <tt class="py-name">max_packet_size</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-543', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1982"></a><tt class="py-lineno">1982</tt> <tt class="py-line"> <tt class="py-name">reject</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1983"></a><tt class="py-lineno">1983</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'x11'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x11_handler</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1984"></a><tt class="py-lineno">1984</tt> <tt class="py-line"> <tt class="py-name">origin_addr</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-544', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1985"></a><tt class="py-lineno">1985</tt> <tt class="py-line"> <tt class="py-name">origin_port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-545', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1986"></a><tt class="py-lineno">1986</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-546" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-546', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Incoming x11 connection from %s:%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">origin_addr</tt><tt class="py-op">,</tt> <tt class="py-name">origin_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1987"></a><tt class="py-lineno">1987</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1988"></a><tt class="py-lineno">1988</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1989"></a><tt class="py-lineno">1989</tt> <tt class="py-line"> <tt class="py-name">my_chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_next_channel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1990"></a><tt class="py-lineno">1990</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L1991"></a><tt class="py-lineno">1991</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1992"></a><tt class="py-lineno">1992</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'forwarded-tcpip'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tcp_handler</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1993"></a><tt class="py-lineno">1993</tt> <tt class="py-line"> <tt class="py-name">server_addr</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-547', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1994"></a><tt class="py-lineno">1994</tt> <tt class="py-line"> <tt class="py-name">server_port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-548', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1995"></a><tt class="py-lineno">1995</tt> <tt class="py-line"> <tt class="py-name">origin_addr</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-549', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1996"></a><tt class="py-lineno">1996</tt> <tt class="py-line"> <tt class="py-name">origin_port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-550', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1997"></a><tt class="py-lineno">1997</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-551" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-551', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Incoming tcp forwarded connection from %s:%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">origin_addr</tt><tt class="py-op">,</tt> <tt class="py-name">origin_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1998"></a><tt class="py-lineno">1998</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1999"></a><tt class="py-lineno">1999</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L2000"></a><tt class="py-lineno">2000</tt> <tt class="py-line"> <tt class="py-name">my_chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_next_channel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2001"></a><tt class="py-lineno">2001</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L2002"></a><tt class="py-lineno">2002</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2003"></a><tt class="py-lineno">2003</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_mode</tt><tt class="py-op">:</tt> </tt>
-<a name="L2004"></a><tt class="py-lineno">2004</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-552" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-552', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Rejecting "%s" channel request from server.'</tt> <tt class="py-op">%</tt> <tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L2005"></a><tt class="py-lineno">2005</tt> <tt class="py-line"> <tt class="py-name">reject</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L2006"></a><tt class="py-lineno">2006</tt> <tt class="py-line"> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt id="link-553" class="py-name" targets="Variable paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.auth_handler-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.channel-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.common-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.dsskey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.hostkeys-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_gex-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.kex_group1-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.packet-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.pkey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.rsakey-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_attr-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_client-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_file-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_handle-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_server-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.sftp_si-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.transport-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,Variable paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED=paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"><a title="paramiko.auth_handler.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.channel.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.dsskey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.hostkeys.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_gex.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.kex_group1.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.packet.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.pkey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.rsakey.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_attr.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_client.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_file.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_handle.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_server.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.sftp_si.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.transport.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
-paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED" class="py-name" href="#" onclick="return doclink('link-553', 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED', 'link-553');">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a></tt> </tt>
-<a name="L2007"></a><tt class="py-lineno">2007</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L2008"></a><tt class="py-lineno">2008</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2009"></a><tt class="py-lineno">2009</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L2010"></a><tt class="py-lineno">2010</tt> <tt class="py-line"> <tt class="py-name">my_chanid</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_next_channel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2011"></a><tt class="py-lineno">2011</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L2012"></a><tt class="py-lineno">2012</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2013"></a><tt class="py-lineno">2013</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'direct-tcpip'</tt><tt class="py-op">:</tt> </tt>
-<a name="L2014"></a><tt class="py-lineno">2014</tt> <tt class="py-line"> <tt class="py-comment"># handle direct-tcpip requests comming from the client</tt> </tt>
-<a name="L2015"></a><tt class="py-lineno">2015</tt> <tt class="py-line"> <tt class="py-name">dest_addr</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-554" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-554', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2016"></a><tt class="py-lineno">2016</tt> <tt class="py-line"> <tt class="py-name">dest_port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-555', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2017"></a><tt class="py-lineno">2017</tt> <tt class="py-line"> <tt class="py-name">origin_addr</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-556', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2018"></a><tt class="py-lineno">2018</tt> <tt class="py-line"> <tt class="py-name">origin_port</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-557" class="py-name"><a title="paramiko.Message.get_int" class="py-name" href="#" onclick="return doclink('link-557', 'get_int', 'link-169');">get_int</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2019"></a><tt class="py-lineno">2019</tt> <tt class="py-line"> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name" targets="Method paramiko.ServerInterface.check_channel_direct_tcpip_request()=paramiko.ServerInterface-class.html#check_channel_direct_tcpip_request"><a title="paramiko.ServerInterface.check_channel_direct_tcpip_request" class="py-name" href="#" onclick="return doclink('link-558', 'check_channel_direct_tcpip_request', 'link-558');">check_channel_direct_tcpip_request</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L2020"></a><tt class="py-lineno">2020</tt> <tt class="py-line"> <tt class="py-name">my_chanid</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">origin_addr</tt><tt class="py-op">,</tt> <tt class="py-name">origin_port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2021"></a><tt class="py-lineno">2021</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">dest_addr</tt><tt class="py-op">,</tt> <tt class="py-name">dest_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2022"></a><tt class="py-lineno">2022</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L2023"></a><tt class="py-lineno">2023</tt> <tt class="py-line"> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">server_object</tt><tt class="py-op">.</tt><tt id="link-559" class="py-name" targets="Method paramiko.ServerInterface.check_channel_request()=paramiko.ServerInterface-class.html#check_channel_request"><a title="paramiko.ServerInterface.check_channel_request" class="py-name" href="#" onclick="return doclink('link-559', 'check_channel_request', 'link-559');">check_channel_request</a></tt><tt class="py-op">(</tt><tt class="py-name">kind</tt><tt class="py-op">,</tt> <tt class="py-name">my_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L2024"></a><tt class="py-lineno">2024</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">reason</tt> <tt class="py-op">!=</tt> <tt id="link-560" class="py-name" targets="Variable paramiko.auth_handler.OPEN_SUCCEEDED=paramiko.auth_handler-module.html#OPEN_SUCCEEDED,Variable paramiko.channel.OPEN_SUCCEEDED=paramiko.channel-module.html#OPEN_SUCCEEDED,Variable paramiko.client.OPEN_SUCCEEDED=paramiko.client-module.html#OPEN_SUCCEEDED,Variable paramiko.common.OPEN_SUCCEEDED=paramiko.common-module.html#OPEN_SUCCEEDED,Variable paramiko.dsskey.OPEN_SUCCEEDED=paramiko.dsskey-module.html#OPEN_SUCCEEDED,Variable paramiko.hostkeys.OPEN_SUCCEEDED=paramiko.hostkeys-module.html#OPEN_SUCCEEDED,Variable paramiko.kex_gex.OPEN_SUCCEEDED=paramiko.kex_gex-module.html#OPEN_SUCCEEDED,Variable paramiko.kex_group1.OPEN_SUCCEEDED=paramiko.kex_group1-module.html#OPEN_SUCCEEDED,Variable paramiko.packet.OPEN_SUCCEEDED=paramiko.packet-module.html#OPEN_SUCCEEDED,Variable paramiko.pkey.OPEN_SUCCEEDED=paramiko.pkey-module.html#OPEN_SUCCEEDED,Variable paramiko.rsakey.OPEN_SUCCEEDED=paramiko.rsakey-module.html#OPEN_SUCCEEDED,Variable paramiko.server.OPEN_SUCCEEDED=paramiko.server-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp.OPEN_SUCCEEDED=paramiko.sftp-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_attr.OPEN_SUCCEEDED=paramiko.sftp_attr-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_client.OPEN_SUCCEEDED=paramiko.sftp_client-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_file.OPEN_SUCCEEDED=paramiko.sftp_file-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_handle.OPEN_SUCCEEDED=paramiko.sftp_handle-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_server.OPEN_SUCCEEDED=paramiko.sftp_server-module.html#OPEN_SUCCEEDED,Variable paramiko.sftp_si.OPEN_SUCCEEDED=paramiko.sftp_si-module.html#OPEN_SUCCEEDED,Variable paramiko.transport.OPEN_SUCCEEDED=paramiko.transport-module.html#OPEN_SUCCEEDED,Variable paramiko.util.OPEN_SUCCEEDED=paramiko.util-module.html#OPEN_SUCCEEDED"><a title="paramiko.auth_handler.OPEN_SUCCEEDED
-paramiko.channel.OPEN_SUCCEEDED
-paramiko.client.OPEN_SUCCEEDED
-paramiko.common.OPEN_SUCCEEDED
-paramiko.dsskey.OPEN_SUCCEEDED
-paramiko.hostkeys.OPEN_SUCCEEDED
-paramiko.kex_gex.OPEN_SUCCEEDED
-paramiko.kex_group1.OPEN_SUCCEEDED
-paramiko.packet.OPEN_SUCCEEDED
-paramiko.pkey.OPEN_SUCCEEDED
-paramiko.rsakey.OPEN_SUCCEEDED
-paramiko.server.OPEN_SUCCEEDED
-paramiko.sftp.OPEN_SUCCEEDED
-paramiko.sftp_attr.OPEN_SUCCEEDED
-paramiko.sftp_client.OPEN_SUCCEEDED
-paramiko.sftp_file.OPEN_SUCCEEDED
-paramiko.sftp_handle.OPEN_SUCCEEDED
-paramiko.sftp_server.OPEN_SUCCEEDED
-paramiko.sftp_si.OPEN_SUCCEEDED
-paramiko.transport.OPEN_SUCCEEDED
-paramiko.util.OPEN_SUCCEEDED" class="py-name" href="#" onclick="return doclink('link-560', 'OPEN_SUCCEEDED', 'link-560');">OPEN_SUCCEEDED</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L2025"></a><tt class="py-lineno">2025</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-561" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-561', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Rejecting "%s" channel request from client.'</tt> <tt class="py-op">%</tt> <tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L2026"></a><tt class="py-lineno">2026</tt> <tt class="py-line"> <tt class="py-name">reject</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L2027"></a><tt class="py-lineno">2027</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">reject</tt><tt class="py-op">:</tt> </tt>
-<a name="L2028"></a><tt class="py-lineno">2028</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt id="link-562" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-562', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2029"></a><tt class="py-lineno">2029</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-563', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-564" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE=paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.channel.MSG_CHANNEL_OPEN_FAILURE=paramiko.channel-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.client.MSG_CHANNEL_OPEN_FAILURE=paramiko.client-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.common.MSG_CHANNEL_OPEN_FAILURE=paramiko.common-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE=paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE=paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE=paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE=paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.packet.MSG_CHANNEL_OPEN_FAILURE=paramiko.packet-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE=paramiko.pkey-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE=paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.server.MSG_CHANNEL_OPEN_FAILURE=paramiko.server-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE=paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.transport.MSG_CHANNEL_OPEN_FAILURE=paramiko.transport-module.html#MSG_CHANNEL_OPEN_FAILURE,Variable paramiko.util.MSG_CHANNEL_OPEN_FAILURE=paramiko.util-module.html#MSG_CHANNEL_OPEN_FAILURE"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE
-paramiko.channel.MSG_CHANNEL_OPEN_FAILURE
-paramiko.client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.common.MSG_CHANNEL_OPEN_FAILURE
-paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE
-paramiko.packet.MSG_CHANNEL_OPEN_FAILURE
-paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE
-paramiko.transport.MSG_CHANNEL_OPEN_FAILURE
-paramiko.util.MSG_CHANNEL_OPEN_FAILURE" class="py-name" href="#" onclick="return doclink('link-564', 'MSG_CHANNEL_OPEN_FAILURE', 'link-564');">MSG_CHANNEL_OPEN_FAILURE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2030"></a><tt class="py-lineno">2030</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-565', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L2031"></a><tt class="py-lineno">2031</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-566', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">reason</tt><tt class="py-op">)</tt> </tt>
-<a name="L2032"></a><tt class="py-lineno">2032</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-567', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2033"></a><tt class="py-lineno">2033</tt> <tt class="py-line"> <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="paramiko.Message.add_string" class="py-name" href="#" onclick="return doclink('link-568', 'add_string', 'link-149');">add_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'en'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2034"></a><tt class="py-lineno">2034</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L2035"></a><tt class="py-lineno">2035</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L2036"></a><tt class="py-lineno">2036</tt> <tt class="py-line"> </tt>
-<a name="L2037"></a><tt class="py-lineno">2037</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt id="link-569" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-569', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">(</tt><tt class="py-name">my_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L2038"></a><tt class="py-lineno">2038</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2039"></a><tt class="py-lineno">2039</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L2040"></a><tt class="py-lineno">2040</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_channels</tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="paramiko.SFTPClient.put
-paramiko.transport.ChannelMap.put" class="py-name" href="#" onclick="return doclink('link-570', 'put', 'link-160');">put</a></tt><tt class="py-op">(</tt><tt class="py-name">my_chanid</tt><tt class="py-op">,</tt> <tt class="py-name">chan</tt><tt class="py-op">)</tt> </tt>
-<a name="L2041"></a><tt class="py-lineno">2041</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channels_seen</tt><tt class="py-op">[</tt><tt class="py-name">my_chanid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L2042"></a><tt class="py-lineno">2042</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_set_transport</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L2043"></a><tt class="py-lineno">2043</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_set_window</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_size</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L2044"></a><tt class="py-lineno">2044</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">_set_remote_channel</tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">,</tt> <tt class="py-name">initial_window_size</tt><tt class="py-op">,</tt> <tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L2045"></a><tt class="py-lineno">2045</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L2046"></a><tt class="py-lineno">2046</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2047"></a><tt class="py-lineno">2047</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt id="link-571" class="py-name"><a title="paramiko.Message" class="py-name" href="#" onclick="return doclink('link-571', 'Message', 'link-24');">Message</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2048"></a><tt class="py-lineno">2048</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="paramiko.Message.add_byte" class="py-name" href="#" onclick="return doclink('link-572', 'add_byte', 'link-147');">add_byte</a></tt><tt class="py-op">(</tt><tt class="py-name">chr</tt><tt class="py-op">(</tt><tt id="link-573" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS=paramiko.auth_handler-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS=paramiko.channel-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.client.MSG_CHANNEL_OPEN_SUCCESS=paramiko.client-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.common.MSG_CHANNEL_OPEN_SUCCESS=paramiko.common-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS=paramiko.dsskey-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS=paramiko.hostkeys-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS=paramiko.kex_gex-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS=paramiko.kex_group1-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS=paramiko.packet-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS=paramiko.pkey-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS=paramiko.rsakey-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.server.MSG_CHANNEL_OPEN_SUCCESS=paramiko.server-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_attr-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_client-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_file-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_handle-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_server-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS=paramiko.sftp_si-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS=paramiko.transport-module.html#MSG_CHANNEL_OPEN_SUCCESS,Variable paramiko.util.MSG_CHANNEL_OPEN_SUCCESS=paramiko.util-module.html#MSG_CHANNEL_OPEN_SUCCESS"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.common.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.util.MSG_CHANNEL_OPEN_SUCCESS" class="py-name" href="#" onclick="return doclink('link-573', 'MSG_CHANNEL_OPEN_SUCCESS', 'link-573');">MSG_CHANNEL_OPEN_SUCCESS</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2049"></a><tt class="py-lineno">2049</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-574', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L2050"></a><tt class="py-lineno">2050</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-575" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-575', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">my_chanid</tt><tt class="py-op">)</tt> </tt>
-<a name="L2051"></a><tt class="py-lineno">2051</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-576', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L2052"></a><tt class="py-lineno">2052</tt> <tt class="py-line"> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-577" class="py-name"><a title="paramiko.Message.add_int" class="py-name" href="#" onclick="return doclink('link-577', 'add_int', 'link-150');">add_int</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_packet_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L2053"></a><tt class="py-lineno">2053</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_send_message</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">)</tt> </tt>
-<a name="L2054"></a><tt class="py-lineno">2054</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-578" class="py-name"><a title="paramiko.auth_handler.INFO
-paramiko.channel.INFO
-paramiko.client.INFO
-paramiko.common.INFO
-paramiko.dsskey.INFO
-paramiko.hostkeys.INFO
-paramiko.kex_gex.INFO
-paramiko.kex_group1.INFO
-paramiko.logging22.INFO
-paramiko.packet.INFO
-paramiko.pkey.INFO
-paramiko.rsakey.INFO
-paramiko.server.INFO
-paramiko.sftp.INFO
-paramiko.sftp_attr.INFO
-paramiko.sftp_client.INFO
-paramiko.sftp_file.INFO
-paramiko.sftp_handle.INFO
-paramiko.sftp_server.INFO
-paramiko.sftp_si.INFO
-paramiko.transport.INFO
-paramiko.util.INFO" class="py-name" href="#" onclick="return doclink('link-578', 'INFO', 'link-371');">INFO</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Secsh channel %d (%s) opened.'</tt><tt class="py-op">,</tt> <tt class="py-name">my_chanid</tt><tt class="py-op">,</tt> <tt class="py-name">kind</tt><tt class="py-op">)</tt> </tt>
-<a name="L2055"></a><tt class="py-lineno">2055</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'x11'</tt><tt class="py-op">:</tt> </tt>
-<a name="L2056"></a><tt class="py-lineno">2056</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x11_handler</tt><tt class="py-op">(</tt><tt class="py-name">chan</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">origin_addr</tt><tt class="py-op">,</tt> <tt class="py-name">origin_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2057"></a><tt class="py-lineno">2057</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">kind</tt> <tt class="py-op">==</tt> <tt class="py-string">'forwarded-tcpip'</tt><tt class="py-op">:</tt> </tt>
-<a name="L2058"></a><tt class="py-lineno">2058</tt> <tt class="py-line"> <tt class="py-name">chan</tt><tt class="py-op">.</tt><tt class="py-name">origin_addr</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">origin_addr</tt><tt class="py-op">,</tt> <tt class="py-name">origin_port</tt><tt class="py-op">)</tt> </tt>
-<a name="L2059"></a><tt class="py-lineno">2059</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_tcp_handler</tt><tt class="py-op">(</tt><tt class="py-name">chan</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">origin_addr</tt><tt class="py-op">,</tt> <tt class="py-name">origin_port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">server_addr</tt><tt class="py-op">,</tt> <tt class="py-name">server_port</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2060"></a><tt class="py-lineno">2060</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L2061"></a><tt class="py-lineno">2061</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_queue_incoming_channel</tt><tt class="py-op">(</tt><tt class="py-name">chan</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2062"></a><tt class="py-lineno">2062</tt> <tt class="py-line"> </tt>
-<a name="Transport._parse_debug"></a><div id="Transport._parse_debug-def"><a name="L2063"></a><tt class="py-lineno">2063</tt> <a class="py-toggle" href="#" id="Transport._parse_debug-toggle" onclick="return toggle('Transport._parse_debug');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_parse_debug">_parse_debug</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._parse_debug-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._parse_debug-expanded"><a name="L2064"></a><tt class="py-lineno">2064</tt> <tt class="py-line"> <tt class="py-name">always_display</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="paramiko.Message.get_boolean" class="py-name" href="#" onclick="return doclink('link-579', 'get_boolean', 'link-421');">get_boolean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2065"></a><tt class="py-lineno">2065</tt> <tt class="py-line"> <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-580" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-580', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2066"></a><tt class="py-lineno">2066</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt id="link-581" class="py-name"><a title="paramiko.Message.get_string" class="py-name" href="#" onclick="return doclink('link-581', 'get_string', 'link-499');">get_string</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2067"></a><tt class="py-lineno">2067</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt id="link-582" class="py-name"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-582', 'DEBUG', 'link-192');">DEBUG</a></tt><tt class="py-op">,</tt> <tt class="py-string">'Debug msg: '</tt> <tt class="py-op">+</tt> <tt id="link-583" class="py-name"><a title="paramiko.util" class="py-name" href="#" onclick="return doclink('link-583', 'util', 'link-1');">util</a></tt><tt class="py-op">.</tt><tt id="link-584" class="py-name" targets="Function paramiko.util.safe_string()=paramiko.util-module.html#safe_string"><a title="paramiko.util.safe_string" class="py-name" href="#" onclick="return doclink('link-584', 'safe_string', 'link-584');">safe_string</a></tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2068"></a><tt class="py-lineno">2068</tt> <tt class="py-line"> </tt>
-<a name="Transport._get_subsystem_handler"></a><div id="Transport._get_subsystem_handler-def"><a name="L2069"></a><tt class="py-lineno">2069</tt> <a class="py-toggle" href="#" id="Transport._get_subsystem_handler-toggle" onclick="return toggle('Transport._get_subsystem_handler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.transport.Transport-class.html#_get_subsystem_handler">_get_subsystem_handler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Transport._get_subsystem_handler-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Transport._get_subsystem_handler-expanded"><a name="L2070"></a><tt class="py-lineno">2070</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L2071"></a><tt class="py-lineno">2071</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2072"></a><tt class="py-lineno">2072</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-585" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-585', 'name', 'link-60');">name</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsystem_table</tt><tt class="py-op">:</tt> </tt>
-<a name="L2073"></a><tt class="py-lineno">2073</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L2074"></a><tt class="py-lineno">2074</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsystem_table</tt><tt class="py-op">[</tt><tt id="link-586" class="py-name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-586', 'name', 'link-60');">name</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L2075"></a><tt class="py-lineno">2075</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L2076"></a><tt class="py-lineno">2076</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2077"></a><tt class="py-lineno">2077</tt> <tt class="py-line"> </tt>
-<a name="L2078"></a><tt class="py-lineno">2078</tt> <tt class="py-line"> <tt id="link-587" class="py-name"><a title="paramiko.Transport._handler_table" class="py-name" href="#" onclick="return doclink('link-587', '_handler_table', 'link-321');">_handler_table</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L2079"></a><tt class="py-lineno">2079</tt> <tt class="py-line"> <tt id="link-588" class="py-name"><a title="paramiko.auth_handler.MSG_NEWKEYS
-paramiko.channel.MSG_NEWKEYS
-paramiko.client.MSG_NEWKEYS
-paramiko.common.MSG_NEWKEYS
-paramiko.dsskey.MSG_NEWKEYS
-paramiko.hostkeys.MSG_NEWKEYS
-paramiko.kex_gex.MSG_NEWKEYS
-paramiko.kex_group1.MSG_NEWKEYS
-paramiko.packet.MSG_NEWKEYS
-paramiko.pkey.MSG_NEWKEYS
-paramiko.rsakey.MSG_NEWKEYS
-paramiko.server.MSG_NEWKEYS
-paramiko.sftp.MSG_NEWKEYS
-paramiko.sftp_attr.MSG_NEWKEYS
-paramiko.sftp_client.MSG_NEWKEYS
-paramiko.sftp_file.MSG_NEWKEYS
-paramiko.sftp_handle.MSG_NEWKEYS
-paramiko.sftp_server.MSG_NEWKEYS
-paramiko.sftp_si.MSG_NEWKEYS
-paramiko.transport.MSG_NEWKEYS
-paramiko.util.MSG_NEWKEYS" class="py-name" href="#" onclick="return doclink('link-588', 'MSG_NEWKEYS', 'link-480');">MSG_NEWKEYS</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_newkeys</tt><tt class="py-op">,</tt> </tt>
-<a name="L2080"></a><tt class="py-lineno">2080</tt> <tt class="py-line"> <tt id="link-589" class="py-name"><a title="paramiko.auth_handler.MSG_GLOBAL_REQUEST
-paramiko.channel.MSG_GLOBAL_REQUEST
-paramiko.client.MSG_GLOBAL_REQUEST
-paramiko.common.MSG_GLOBAL_REQUEST
-paramiko.dsskey.MSG_GLOBAL_REQUEST
-paramiko.hostkeys.MSG_GLOBAL_REQUEST
-paramiko.kex_gex.MSG_GLOBAL_REQUEST
-paramiko.kex_group1.MSG_GLOBAL_REQUEST
-paramiko.packet.MSG_GLOBAL_REQUEST
-paramiko.pkey.MSG_GLOBAL_REQUEST
-paramiko.rsakey.MSG_GLOBAL_REQUEST
-paramiko.server.MSG_GLOBAL_REQUEST
-paramiko.sftp.MSG_GLOBAL_REQUEST
-paramiko.sftp_attr.MSG_GLOBAL_REQUEST
-paramiko.sftp_client.MSG_GLOBAL_REQUEST
-paramiko.sftp_file.MSG_GLOBAL_REQUEST
-paramiko.sftp_handle.MSG_GLOBAL_REQUEST
-paramiko.sftp_server.MSG_GLOBAL_REQUEST
-paramiko.sftp_si.MSG_GLOBAL_REQUEST
-paramiko.transport.MSG_GLOBAL_REQUEST
-paramiko.util.MSG_GLOBAL_REQUEST" class="py-name" href="#" onclick="return doclink('link-589', 'MSG_GLOBAL_REQUEST', 'link-188');">MSG_GLOBAL_REQUEST</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_global_request</tt><tt class="py-op">,</tt> </tt>
-<a name="L2081"></a><tt class="py-lineno">2081</tt> <tt class="py-line"> <tt id="link-590" class="py-name"><a title="paramiko.auth_handler.MSG_REQUEST_SUCCESS
-paramiko.channel.MSG_REQUEST_SUCCESS
-paramiko.client.MSG_REQUEST_SUCCESS
-paramiko.common.MSG_REQUEST_SUCCESS
-paramiko.dsskey.MSG_REQUEST_SUCCESS
-paramiko.hostkeys.MSG_REQUEST_SUCCESS
-paramiko.kex_gex.MSG_REQUEST_SUCCESS
-paramiko.kex_group1.MSG_REQUEST_SUCCESS
-paramiko.packet.MSG_REQUEST_SUCCESS
-paramiko.pkey.MSG_REQUEST_SUCCESS
-paramiko.rsakey.MSG_REQUEST_SUCCESS
-paramiko.server.MSG_REQUEST_SUCCESS
-paramiko.sftp.MSG_REQUEST_SUCCESS
-paramiko.sftp_attr.MSG_REQUEST_SUCCESS
-paramiko.sftp_client.MSG_REQUEST_SUCCESS
-paramiko.sftp_file.MSG_REQUEST_SUCCESS
-paramiko.sftp_handle.MSG_REQUEST_SUCCESS
-paramiko.sftp_server.MSG_REQUEST_SUCCESS
-paramiko.sftp_si.MSG_REQUEST_SUCCESS
-paramiko.transport.MSG_REQUEST_SUCCESS
-paramiko.util.MSG_REQUEST_SUCCESS" class="py-name" href="#" onclick="return doclink('link-590', 'MSG_REQUEST_SUCCESS', 'link-514');">MSG_REQUEST_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_request_success</tt><tt class="py-op">,</tt> </tt>
-<a name="L2082"></a><tt class="py-lineno">2082</tt> <tt class="py-line"> <tt id="link-591" class="py-name"><a title="paramiko.auth_handler.MSG_REQUEST_FAILURE
-paramiko.channel.MSG_REQUEST_FAILURE
-paramiko.client.MSG_REQUEST_FAILURE
-paramiko.common.MSG_REQUEST_FAILURE
-paramiko.dsskey.MSG_REQUEST_FAILURE
-paramiko.hostkeys.MSG_REQUEST_FAILURE
-paramiko.kex_gex.MSG_REQUEST_FAILURE
-paramiko.kex_group1.MSG_REQUEST_FAILURE
-paramiko.packet.MSG_REQUEST_FAILURE
-paramiko.pkey.MSG_REQUEST_FAILURE
-paramiko.rsakey.MSG_REQUEST_FAILURE
-paramiko.server.MSG_REQUEST_FAILURE
-paramiko.sftp.MSG_REQUEST_FAILURE
-paramiko.sftp_attr.MSG_REQUEST_FAILURE
-paramiko.sftp_client.MSG_REQUEST_FAILURE
-paramiko.sftp_file.MSG_REQUEST_FAILURE
-paramiko.sftp_handle.MSG_REQUEST_FAILURE
-paramiko.sftp_server.MSG_REQUEST_FAILURE
-paramiko.sftp_si.MSG_REQUEST_FAILURE
-paramiko.transport.MSG_REQUEST_FAILURE
-paramiko.util.MSG_REQUEST_FAILURE" class="py-name" href="#" onclick="return doclink('link-591', 'MSG_REQUEST_FAILURE', 'link-517');">MSG_REQUEST_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_request_failure</tt><tt class="py-op">,</tt> </tt>
-<a name="L2083"></a><tt class="py-lineno">2083</tt> <tt class="py-line"> <tt id="link-592" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.channel.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.common.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.packet.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.pkey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.transport.MSG_CHANNEL_OPEN_SUCCESS
-paramiko.util.MSG_CHANNEL_OPEN_SUCCESS" class="py-name" href="#" onclick="return doclink('link-592', 'MSG_CHANNEL_OPEN_SUCCESS', 'link-573');">MSG_CHANNEL_OPEN_SUCCESS</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_channel_open_success</tt><tt class="py-op">,</tt> </tt>
-<a name="L2084"></a><tt class="py-lineno">2084</tt> <tt class="py-line"> <tt id="link-593" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN_FAILURE
-paramiko.channel.MSG_CHANNEL_OPEN_FAILURE
-paramiko.client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.common.MSG_CHANNEL_OPEN_FAILURE
-paramiko.dsskey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_OPEN_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_OPEN_FAILURE
-paramiko.packet.MSG_CHANNEL_OPEN_FAILURE
-paramiko.pkey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.rsakey.MSG_CHANNEL_OPEN_FAILURE
-paramiko.server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_OPEN_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_OPEN_FAILURE
-paramiko.transport.MSG_CHANNEL_OPEN_FAILURE
-paramiko.util.MSG_CHANNEL_OPEN_FAILURE" class="py-name" href="#" onclick="return doclink('link-593', 'MSG_CHANNEL_OPEN_FAILURE', 'link-564');">MSG_CHANNEL_OPEN_FAILURE</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_channel_open_failure</tt><tt class="py-op">,</tt> </tt>
-<a name="L2085"></a><tt class="py-lineno">2085</tt> <tt class="py-line"> <tt id="link-594" class="py-name"><a title="paramiko.auth_handler.MSG_CHANNEL_OPEN
-paramiko.channel.MSG_CHANNEL_OPEN
-paramiko.client.MSG_CHANNEL_OPEN
-paramiko.common.MSG_CHANNEL_OPEN
-paramiko.dsskey.MSG_CHANNEL_OPEN
-paramiko.hostkeys.MSG_CHANNEL_OPEN
-paramiko.kex_gex.MSG_CHANNEL_OPEN
-paramiko.kex_group1.MSG_CHANNEL_OPEN
-paramiko.packet.MSG_CHANNEL_OPEN
-paramiko.pkey.MSG_CHANNEL_OPEN
-paramiko.rsakey.MSG_CHANNEL_OPEN
-paramiko.server.MSG_CHANNEL_OPEN
-paramiko.sftp.MSG_CHANNEL_OPEN
-paramiko.sftp_attr.MSG_CHANNEL_OPEN
-paramiko.sftp_client.MSG_CHANNEL_OPEN
-paramiko.sftp_file.MSG_CHANNEL_OPEN
-paramiko.sftp_handle.MSG_CHANNEL_OPEN
-paramiko.sftp_server.MSG_CHANNEL_OPEN
-paramiko.sftp_si.MSG_CHANNEL_OPEN
-paramiko.transport.MSG_CHANNEL_OPEN
-paramiko.util.MSG_CHANNEL_OPEN" class="py-name" href="#" onclick="return doclink('link-594', 'MSG_CHANNEL_OPEN', 'link-148');">MSG_CHANNEL_OPEN</a></tt><tt class="py-op">:</tt> <tt class="py-name">_parse_channel_open</tt><tt class="py-op">,</tt> </tt>
-<a name="L2086"></a><tt class="py-lineno">2086</tt> <tt class="py-line"> <tt id="link-595" class="py-name"><a title="paramiko.auth_handler.MSG_KEXINIT
-paramiko.channel.MSG_KEXINIT
-paramiko.client.MSG_KEXINIT
-paramiko.common.MSG_KEXINIT
-paramiko.dsskey.MSG_KEXINIT
-paramiko.hostkeys.MSG_KEXINIT
-paramiko.kex_gex.MSG_KEXINIT
-paramiko.kex_group1.MSG_KEXINIT
-paramiko.packet.MSG_KEXINIT
-paramiko.pkey.MSG_KEXINIT
-paramiko.rsakey.MSG_KEXINIT
-paramiko.server.MSG_KEXINIT
-paramiko.sftp.MSG_KEXINIT
-paramiko.sftp_attr.MSG_KEXINIT
-paramiko.sftp_client.MSG_KEXINIT
-paramiko.sftp_file.MSG_KEXINIT
-paramiko.sftp_handle.MSG_KEXINIT
-paramiko.sftp_server.MSG_KEXINIT
-paramiko.sftp_si.MSG_KEXINIT
-paramiko.transport.MSG_KEXINIT
-paramiko.util.MSG_KEXINIT" class="py-name" href="#" onclick="return doclink('link-595', 'MSG_KEXINIT', 'link-313');">MSG_KEXINIT</a></tt><tt class="py-op">:</tt> <tt class="py-name">_negotiate_keys</tt><tt class="py-op">,</tt> </tt>
-<a name="L2087"></a><tt class="py-lineno">2087</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-<a name="L2088"></a><tt class="py-lineno">2088</tt> <tt class="py-line"> </tt>
-<a name="L2089"></a><tt class="py-lineno">2089</tt> <tt class="py-line"> <tt id="link-596" class="py-name"><a title="paramiko.Transport._channel_handler_table" class="py-name" href="#" onclick="return doclink('link-596', '_channel_handler_table', 'link-323');">_channel_handler_table</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L2090"></a><tt class="py-lineno">2090</tt> <tt class="py-line"> <tt id="link-597" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_SUCCESS=paramiko.auth_handler-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.channel.MSG_CHANNEL_SUCCESS=paramiko.channel-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.client.MSG_CHANNEL_SUCCESS=paramiko.client-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.common.MSG_CHANNEL_SUCCESS=paramiko.common-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.dsskey.MSG_CHANNEL_SUCCESS=paramiko.dsskey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.hostkeys.MSG_CHANNEL_SUCCESS=paramiko.hostkeys-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.kex_gex.MSG_CHANNEL_SUCCESS=paramiko.kex_gex-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.kex_group1.MSG_CHANNEL_SUCCESS=paramiko.kex_group1-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.packet.MSG_CHANNEL_SUCCESS=paramiko.packet-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.pkey.MSG_CHANNEL_SUCCESS=paramiko.pkey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.rsakey.MSG_CHANNEL_SUCCESS=paramiko.rsakey-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.server.MSG_CHANNEL_SUCCESS=paramiko.server-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp.MSG_CHANNEL_SUCCESS=paramiko.sftp-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_attr.MSG_CHANNEL_SUCCESS=paramiko.sftp_attr-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_client.MSG_CHANNEL_SUCCESS=paramiko.sftp_client-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_file.MSG_CHANNEL_SUCCESS=paramiko.sftp_file-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_handle.MSG_CHANNEL_SUCCESS=paramiko.sftp_handle-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_server.MSG_CHANNEL_SUCCESS=paramiko.sftp_server-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.sftp_si.MSG_CHANNEL_SUCCESS=paramiko.sftp_si-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.transport.MSG_CHANNEL_SUCCESS=paramiko.transport-module.html#MSG_CHANNEL_SUCCESS,Variable paramiko.util.MSG_CHANNEL_SUCCESS=paramiko.util-module.html#MSG_CHANNEL_SUCCESS"><a title="paramiko.auth_handler.MSG_CHANNEL_SUCCESS
-paramiko.channel.MSG_CHANNEL_SUCCESS
-paramiko.client.MSG_CHANNEL_SUCCESS
-paramiko.common.MSG_CHANNEL_SUCCESS
-paramiko.dsskey.MSG_CHANNEL_SUCCESS
-paramiko.hostkeys.MSG_CHANNEL_SUCCESS
-paramiko.kex_gex.MSG_CHANNEL_SUCCESS
-paramiko.kex_group1.MSG_CHANNEL_SUCCESS
-paramiko.packet.MSG_CHANNEL_SUCCESS
-paramiko.pkey.MSG_CHANNEL_SUCCESS
-paramiko.rsakey.MSG_CHANNEL_SUCCESS
-paramiko.server.MSG_CHANNEL_SUCCESS
-paramiko.sftp.MSG_CHANNEL_SUCCESS
-paramiko.sftp_attr.MSG_CHANNEL_SUCCESS
-paramiko.sftp_client.MSG_CHANNEL_SUCCESS
-paramiko.sftp_file.MSG_CHANNEL_SUCCESS
-paramiko.sftp_handle.MSG_CHANNEL_SUCCESS
-paramiko.sftp_server.MSG_CHANNEL_SUCCESS
-paramiko.sftp_si.MSG_CHANNEL_SUCCESS
-paramiko.transport.MSG_CHANNEL_SUCCESS
-paramiko.util.MSG_CHANNEL_SUCCESS" class="py-name" href="#" onclick="return doclink('link-597', 'MSG_CHANNEL_SUCCESS', 'link-597');">MSG_CHANNEL_SUCCESS</a></tt><tt class="py-op">:</tt> <tt id="link-598" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-598', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_request_success</tt><tt class="py-op">,</tt> </tt>
-<a name="L2091"></a><tt class="py-lineno">2091</tt> <tt class="py-line"> <tt id="link-599" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_FAILURE=paramiko.auth_handler-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.channel.MSG_CHANNEL_FAILURE=paramiko.channel-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.client.MSG_CHANNEL_FAILURE=paramiko.client-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.common.MSG_CHANNEL_FAILURE=paramiko.common-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.dsskey.MSG_CHANNEL_FAILURE=paramiko.dsskey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.hostkeys.MSG_CHANNEL_FAILURE=paramiko.hostkeys-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.kex_gex.MSG_CHANNEL_FAILURE=paramiko.kex_gex-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.kex_group1.MSG_CHANNEL_FAILURE=paramiko.kex_group1-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.packet.MSG_CHANNEL_FAILURE=paramiko.packet-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.pkey.MSG_CHANNEL_FAILURE=paramiko.pkey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.rsakey.MSG_CHANNEL_FAILURE=paramiko.rsakey-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.server.MSG_CHANNEL_FAILURE=paramiko.server-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp.MSG_CHANNEL_FAILURE=paramiko.sftp-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_attr.MSG_CHANNEL_FAILURE=paramiko.sftp_attr-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_client.MSG_CHANNEL_FAILURE=paramiko.sftp_client-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_file.MSG_CHANNEL_FAILURE=paramiko.sftp_file-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_handle.MSG_CHANNEL_FAILURE=paramiko.sftp_handle-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_server.MSG_CHANNEL_FAILURE=paramiko.sftp_server-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.sftp_si.MSG_CHANNEL_FAILURE=paramiko.sftp_si-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.transport.MSG_CHANNEL_FAILURE=paramiko.transport-module.html#MSG_CHANNEL_FAILURE,Variable paramiko.util.MSG_CHANNEL_FAILURE=paramiko.util-module.html#MSG_CHANNEL_FAILURE"><a title="paramiko.auth_handler.MSG_CHANNEL_FAILURE
-paramiko.channel.MSG_CHANNEL_FAILURE
-paramiko.client.MSG_CHANNEL_FAILURE
-paramiko.common.MSG_CHANNEL_FAILURE
-paramiko.dsskey.MSG_CHANNEL_FAILURE
-paramiko.hostkeys.MSG_CHANNEL_FAILURE
-paramiko.kex_gex.MSG_CHANNEL_FAILURE
-paramiko.kex_group1.MSG_CHANNEL_FAILURE
-paramiko.packet.MSG_CHANNEL_FAILURE
-paramiko.pkey.MSG_CHANNEL_FAILURE
-paramiko.rsakey.MSG_CHANNEL_FAILURE
-paramiko.server.MSG_CHANNEL_FAILURE
-paramiko.sftp.MSG_CHANNEL_FAILURE
-paramiko.sftp_attr.MSG_CHANNEL_FAILURE
-paramiko.sftp_client.MSG_CHANNEL_FAILURE
-paramiko.sftp_file.MSG_CHANNEL_FAILURE
-paramiko.sftp_handle.MSG_CHANNEL_FAILURE
-paramiko.sftp_server.MSG_CHANNEL_FAILURE
-paramiko.sftp_si.MSG_CHANNEL_FAILURE
-paramiko.transport.MSG_CHANNEL_FAILURE
-paramiko.util.MSG_CHANNEL_FAILURE" class="py-name" href="#" onclick="return doclink('link-599', 'MSG_CHANNEL_FAILURE', 'link-599');">MSG_CHANNEL_FAILURE</a></tt><tt class="py-op">:</tt> <tt id="link-600" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-600', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_request_failed</tt><tt class="py-op">,</tt> </tt>
-<a name="L2092"></a><tt class="py-lineno">2092</tt> <tt class="py-line"> <tt id="link-601" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_DATA=paramiko.auth_handler-module.html#MSG_CHANNEL_DATA,Variable paramiko.channel.MSG_CHANNEL_DATA=paramiko.channel-module.html#MSG_CHANNEL_DATA,Variable paramiko.client.MSG_CHANNEL_DATA=paramiko.client-module.html#MSG_CHANNEL_DATA,Variable paramiko.common.MSG_CHANNEL_DATA=paramiko.common-module.html#MSG_CHANNEL_DATA,Variable paramiko.dsskey.MSG_CHANNEL_DATA=paramiko.dsskey-module.html#MSG_CHANNEL_DATA,Variable paramiko.hostkeys.MSG_CHANNEL_DATA=paramiko.hostkeys-module.html#MSG_CHANNEL_DATA,Variable paramiko.kex_gex.MSG_CHANNEL_DATA=paramiko.kex_gex-module.html#MSG_CHANNEL_DATA,Variable paramiko.kex_group1.MSG_CHANNEL_DATA=paramiko.kex_group1-module.html#MSG_CHANNEL_DATA,Variable paramiko.packet.MSG_CHANNEL_DATA=paramiko.packet-module.html#MSG_CHANNEL_DATA,Variable paramiko.pkey.MSG_CHANNEL_DATA=paramiko.pkey-module.html#MSG_CHANNEL_DATA,Variable paramiko.rsakey.MSG_CHANNEL_DATA=paramiko.rsakey-module.html#MSG_CHANNEL_DATA,Variable paramiko.server.MSG_CHANNEL_DATA=paramiko.server-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp.MSG_CHANNEL_DATA=paramiko.sftp-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_attr.MSG_CHANNEL_DATA=paramiko.sftp_attr-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_client.MSG_CHANNEL_DATA=paramiko.sftp_client-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_file.MSG_CHANNEL_DATA=paramiko.sftp_file-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_handle.MSG_CHANNEL_DATA=paramiko.sftp_handle-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_server.MSG_CHANNEL_DATA=paramiko.sftp_server-module.html#MSG_CHANNEL_DATA,Variable paramiko.sftp_si.MSG_CHANNEL_DATA=paramiko.sftp_si-module.html#MSG_CHANNEL_DATA,Variable paramiko.transport.MSG_CHANNEL_DATA=paramiko.transport-module.html#MSG_CHANNEL_DATA,Variable paramiko.util.MSG_CHANNEL_DATA=paramiko.util-module.html#MSG_CHANNEL_DATA"><a title="paramiko.auth_handler.MSG_CHANNEL_DATA
-paramiko.channel.MSG_CHANNEL_DATA
-paramiko.client.MSG_CHANNEL_DATA
-paramiko.common.MSG_CHANNEL_DATA
-paramiko.dsskey.MSG_CHANNEL_DATA
-paramiko.hostkeys.MSG_CHANNEL_DATA
-paramiko.kex_gex.MSG_CHANNEL_DATA
-paramiko.kex_group1.MSG_CHANNEL_DATA
-paramiko.packet.MSG_CHANNEL_DATA
-paramiko.pkey.MSG_CHANNEL_DATA
-paramiko.rsakey.MSG_CHANNEL_DATA
-paramiko.server.MSG_CHANNEL_DATA
-paramiko.sftp.MSG_CHANNEL_DATA
-paramiko.sftp_attr.MSG_CHANNEL_DATA
-paramiko.sftp_client.MSG_CHANNEL_DATA
-paramiko.sftp_file.MSG_CHANNEL_DATA
-paramiko.sftp_handle.MSG_CHANNEL_DATA
-paramiko.sftp_server.MSG_CHANNEL_DATA
-paramiko.sftp_si.MSG_CHANNEL_DATA
-paramiko.transport.MSG_CHANNEL_DATA
-paramiko.util.MSG_CHANNEL_DATA" class="py-name" href="#" onclick="return doclink('link-601', 'MSG_CHANNEL_DATA', 'link-601');">MSG_CHANNEL_DATA</a></tt><tt class="py-op">:</tt> <tt id="link-602" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-602', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_feed</tt><tt class="py-op">,</tt> </tt>
-<a name="L2093"></a><tt class="py-lineno">2093</tt> <tt class="py-line"> <tt id="link-603" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA=paramiko.auth_handler-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.channel.MSG_CHANNEL_EXTENDED_DATA=paramiko.channel-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.client.MSG_CHANNEL_EXTENDED_DATA=paramiko.client-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.common.MSG_CHANNEL_EXTENDED_DATA=paramiko.common-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA=paramiko.dsskey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA=paramiko.hostkeys-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA=paramiko.kex_gex-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA=paramiko.kex_group1-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.packet.MSG_CHANNEL_EXTENDED_DATA=paramiko.packet-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA=paramiko.pkey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA=paramiko.rsakey-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.server.MSG_CHANNEL_EXTENDED_DATA=paramiko.server-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_attr-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_client-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_file-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_handle-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_server-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA=paramiko.sftp_si-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.transport.MSG_CHANNEL_EXTENDED_DATA=paramiko.transport-module.html#MSG_CHANNEL_EXTENDED_DATA,Variable paramiko.util.MSG_CHANNEL_EXTENDED_DATA=paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA"><a title="paramiko.auth_handler.MSG_CHANNEL_EXTENDED_DATA
-paramiko.channel.MSG_CHANNEL_EXTENDED_DATA
-paramiko.client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.common.MSG_CHANNEL_EXTENDED_DATA
-paramiko.dsskey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.hostkeys.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_gex.MSG_CHANNEL_EXTENDED_DATA
-paramiko.kex_group1.MSG_CHANNEL_EXTENDED_DATA
-paramiko.packet.MSG_CHANNEL_EXTENDED_DATA
-paramiko.pkey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.rsakey.MSG_CHANNEL_EXTENDED_DATA
-paramiko.server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_attr.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_client.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_file.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_handle.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_server.MSG_CHANNEL_EXTENDED_DATA
-paramiko.sftp_si.MSG_CHANNEL_EXTENDED_DATA
-paramiko.transport.MSG_CHANNEL_EXTENDED_DATA
-paramiko.util.MSG_CHANNEL_EXTENDED_DATA" class="py-name" href="#" onclick="return doclink('link-603', 'MSG_CHANNEL_EXTENDED_DATA', 'link-603');">MSG_CHANNEL_EXTENDED_DATA</a></tt><tt class="py-op">:</tt> <tt id="link-604" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-604', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_feed_extended</tt><tt class="py-op">,</tt> </tt>
-<a name="L2094"></a><tt class="py-lineno">2094</tt> <tt class="py-line"> <tt id="link-605" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST=paramiko.auth_handler-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST=paramiko.channel-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.client.MSG_CHANNEL_WINDOW_ADJUST=paramiko.client-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.common.MSG_CHANNEL_WINDOW_ADJUST=paramiko.common-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.dsskey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST=paramiko.hostkeys-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST=paramiko.kex_gex-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST=paramiko.kex_group1-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST=paramiko.packet-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.pkey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST=paramiko.rsakey-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.server.MSG_CHANNEL_WINDOW_ADJUST=paramiko.server-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_attr-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_client-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_file-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_handle-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_server-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST=paramiko.sftp_si-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST=paramiko.transport-module.html#MSG_CHANNEL_WINDOW_ADJUST,Variable paramiko.util.MSG_CHANNEL_WINDOW_ADJUST=paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST"><a title="paramiko.auth_handler.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.channel.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.common.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.dsskey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.hostkeys.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_gex.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.kex_group1.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.packet.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.pkey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.rsakey.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_attr.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_client.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_file.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_handle.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_server.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.sftp_si.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.transport.MSG_CHANNEL_WINDOW_ADJUST
-paramiko.util.MSG_CHANNEL_WINDOW_ADJUST" class="py-name" href="#" onclick="return doclink('link-605', 'MSG_CHANNEL_WINDOW_ADJUST', 'link-605');">MSG_CHANNEL_WINDOW_ADJUST</a></tt><tt class="py-op">:</tt> <tt id="link-606" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-606', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_window_adjust</tt><tt class="py-op">,</tt> </tt>
-<a name="L2095"></a><tt class="py-lineno">2095</tt> <tt class="py-line"> <tt id="link-607" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_REQUEST=paramiko.auth_handler-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.channel.MSG_CHANNEL_REQUEST=paramiko.channel-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.client.MSG_CHANNEL_REQUEST=paramiko.client-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.common.MSG_CHANNEL_REQUEST=paramiko.common-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.dsskey.MSG_CHANNEL_REQUEST=paramiko.dsskey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.hostkeys.MSG_CHANNEL_REQUEST=paramiko.hostkeys-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.kex_gex.MSG_CHANNEL_REQUEST=paramiko.kex_gex-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.kex_group1.MSG_CHANNEL_REQUEST=paramiko.kex_group1-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.packet.MSG_CHANNEL_REQUEST=paramiko.packet-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.pkey.MSG_CHANNEL_REQUEST=paramiko.pkey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.rsakey.MSG_CHANNEL_REQUEST=paramiko.rsakey-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.server.MSG_CHANNEL_REQUEST=paramiko.server-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp.MSG_CHANNEL_REQUEST=paramiko.sftp-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_attr.MSG_CHANNEL_REQUEST=paramiko.sftp_attr-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_client.MSG_CHANNEL_REQUEST=paramiko.sftp_client-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_file.MSG_CHANNEL_REQUEST=paramiko.sftp_file-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_handle.MSG_CHANNEL_REQUEST=paramiko.sftp_handle-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_server.MSG_CHANNEL_REQUEST=paramiko.sftp_server-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.sftp_si.MSG_CHANNEL_REQUEST=paramiko.sftp_si-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.transport.MSG_CHANNEL_REQUEST=paramiko.transport-module.html#MSG_CHANNEL_REQUEST,Variable paramiko.util.MSG_CHANNEL_REQUEST=paramiko.util-module.html#MSG_CHANNEL_REQUEST"><a title="paramiko.auth_handler.MSG_CHANNEL_REQUEST
-paramiko.channel.MSG_CHANNEL_REQUEST
-paramiko.client.MSG_CHANNEL_REQUEST
-paramiko.common.MSG_CHANNEL_REQUEST
-paramiko.dsskey.MSG_CHANNEL_REQUEST
-paramiko.hostkeys.MSG_CHANNEL_REQUEST
-paramiko.kex_gex.MSG_CHANNEL_REQUEST
-paramiko.kex_group1.MSG_CHANNEL_REQUEST
-paramiko.packet.MSG_CHANNEL_REQUEST
-paramiko.pkey.MSG_CHANNEL_REQUEST
-paramiko.rsakey.MSG_CHANNEL_REQUEST
-paramiko.server.MSG_CHANNEL_REQUEST
-paramiko.sftp.MSG_CHANNEL_REQUEST
-paramiko.sftp_attr.MSG_CHANNEL_REQUEST
-paramiko.sftp_client.MSG_CHANNEL_REQUEST
-paramiko.sftp_file.MSG_CHANNEL_REQUEST
-paramiko.sftp_handle.MSG_CHANNEL_REQUEST
-paramiko.sftp_server.MSG_CHANNEL_REQUEST
-paramiko.sftp_si.MSG_CHANNEL_REQUEST
-paramiko.transport.MSG_CHANNEL_REQUEST
-paramiko.util.MSG_CHANNEL_REQUEST" class="py-name" href="#" onclick="return doclink('link-607', 'MSG_CHANNEL_REQUEST', 'link-607');">MSG_CHANNEL_REQUEST</a></tt><tt class="py-op">:</tt> <tt id="link-608" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-608', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_handle_request</tt><tt class="py-op">,</tt> </tt>
-<a name="L2096"></a><tt class="py-lineno">2096</tt> <tt class="py-line"> <tt id="link-609" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_EOF=paramiko.auth_handler-module.html#MSG_CHANNEL_EOF,Variable paramiko.channel.MSG_CHANNEL_EOF=paramiko.channel-module.html#MSG_CHANNEL_EOF,Variable paramiko.client.MSG_CHANNEL_EOF=paramiko.client-module.html#MSG_CHANNEL_EOF,Variable paramiko.common.MSG_CHANNEL_EOF=paramiko.common-module.html#MSG_CHANNEL_EOF,Variable paramiko.dsskey.MSG_CHANNEL_EOF=paramiko.dsskey-module.html#MSG_CHANNEL_EOF,Variable paramiko.hostkeys.MSG_CHANNEL_EOF=paramiko.hostkeys-module.html#MSG_CHANNEL_EOF,Variable paramiko.kex_gex.MSG_CHANNEL_EOF=paramiko.kex_gex-module.html#MSG_CHANNEL_EOF,Variable paramiko.kex_group1.MSG_CHANNEL_EOF=paramiko.kex_group1-module.html#MSG_CHANNEL_EOF,Variable paramiko.packet.MSG_CHANNEL_EOF=paramiko.packet-module.html#MSG_CHANNEL_EOF,Variable paramiko.pkey.MSG_CHANNEL_EOF=paramiko.pkey-module.html#MSG_CHANNEL_EOF,Variable paramiko.rsakey.MSG_CHANNEL_EOF=paramiko.rsakey-module.html#MSG_CHANNEL_EOF,Variable paramiko.server.MSG_CHANNEL_EOF=paramiko.server-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp.MSG_CHANNEL_EOF=paramiko.sftp-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_attr.MSG_CHANNEL_EOF=paramiko.sftp_attr-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_client.MSG_CHANNEL_EOF=paramiko.sftp_client-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_file.MSG_CHANNEL_EOF=paramiko.sftp_file-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_handle.MSG_CHANNEL_EOF=paramiko.sftp_handle-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_server.MSG_CHANNEL_EOF=paramiko.sftp_server-module.html#MSG_CHANNEL_EOF,Variable paramiko.sftp_si.MSG_CHANNEL_EOF=paramiko.sftp_si-module.html#MSG_CHANNEL_EOF,Variable paramiko.transport.MSG_CHANNEL_EOF=paramiko.transport-module.html#MSG_CHANNEL_EOF,Variable paramiko.util.MSG_CHANNEL_EOF=paramiko.util-module.html#MSG_CHANNEL_EOF"><a title="paramiko.auth_handler.MSG_CHANNEL_EOF
-paramiko.channel.MSG_CHANNEL_EOF
-paramiko.client.MSG_CHANNEL_EOF
-paramiko.common.MSG_CHANNEL_EOF
-paramiko.dsskey.MSG_CHANNEL_EOF
-paramiko.hostkeys.MSG_CHANNEL_EOF
-paramiko.kex_gex.MSG_CHANNEL_EOF
-paramiko.kex_group1.MSG_CHANNEL_EOF
-paramiko.packet.MSG_CHANNEL_EOF
-paramiko.pkey.MSG_CHANNEL_EOF
-paramiko.rsakey.MSG_CHANNEL_EOF
-paramiko.server.MSG_CHANNEL_EOF
-paramiko.sftp.MSG_CHANNEL_EOF
-paramiko.sftp_attr.MSG_CHANNEL_EOF
-paramiko.sftp_client.MSG_CHANNEL_EOF
-paramiko.sftp_file.MSG_CHANNEL_EOF
-paramiko.sftp_handle.MSG_CHANNEL_EOF
-paramiko.sftp_server.MSG_CHANNEL_EOF
-paramiko.sftp_si.MSG_CHANNEL_EOF
-paramiko.transport.MSG_CHANNEL_EOF
-paramiko.util.MSG_CHANNEL_EOF" class="py-name" href="#" onclick="return doclink('link-609', 'MSG_CHANNEL_EOF', 'link-609');">MSG_CHANNEL_EOF</a></tt><tt class="py-op">:</tt> <tt id="link-610" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-610', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_handle_eof</tt><tt class="py-op">,</tt> </tt>
-<a name="L2097"></a><tt class="py-lineno">2097</tt> <tt class="py-line"> <tt id="link-611" class="py-name" targets="Variable paramiko.auth_handler.MSG_CHANNEL_CLOSE=paramiko.auth_handler-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.channel.MSG_CHANNEL_CLOSE=paramiko.channel-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.client.MSG_CHANNEL_CLOSE=paramiko.client-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.common.MSG_CHANNEL_CLOSE=paramiko.common-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.dsskey.MSG_CHANNEL_CLOSE=paramiko.dsskey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.hostkeys.MSG_CHANNEL_CLOSE=paramiko.hostkeys-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.kex_gex.MSG_CHANNEL_CLOSE=paramiko.kex_gex-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.kex_group1.MSG_CHANNEL_CLOSE=paramiko.kex_group1-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.packet.MSG_CHANNEL_CLOSE=paramiko.packet-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.pkey.MSG_CHANNEL_CLOSE=paramiko.pkey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.rsakey.MSG_CHANNEL_CLOSE=paramiko.rsakey-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.server.MSG_CHANNEL_CLOSE=paramiko.server-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp.MSG_CHANNEL_CLOSE=paramiko.sftp-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_attr.MSG_CHANNEL_CLOSE=paramiko.sftp_attr-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_client.MSG_CHANNEL_CLOSE=paramiko.sftp_client-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_file.MSG_CHANNEL_CLOSE=paramiko.sftp_file-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_handle.MSG_CHANNEL_CLOSE=paramiko.sftp_handle-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_server.MSG_CHANNEL_CLOSE=paramiko.sftp_server-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.sftp_si.MSG_CHANNEL_CLOSE=paramiko.sftp_si-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.transport.MSG_CHANNEL_CLOSE=paramiko.transport-module.html#MSG_CHANNEL_CLOSE,Variable paramiko.util.MSG_CHANNEL_CLOSE=paramiko.util-module.html#MSG_CHANNEL_CLOSE"><a title="paramiko.auth_handler.MSG_CHANNEL_CLOSE
-paramiko.channel.MSG_CHANNEL_CLOSE
-paramiko.client.MSG_CHANNEL_CLOSE
-paramiko.common.MSG_CHANNEL_CLOSE
-paramiko.dsskey.MSG_CHANNEL_CLOSE
-paramiko.hostkeys.MSG_CHANNEL_CLOSE
-paramiko.kex_gex.MSG_CHANNEL_CLOSE
-paramiko.kex_group1.MSG_CHANNEL_CLOSE
-paramiko.packet.MSG_CHANNEL_CLOSE
-paramiko.pkey.MSG_CHANNEL_CLOSE
-paramiko.rsakey.MSG_CHANNEL_CLOSE
-paramiko.server.MSG_CHANNEL_CLOSE
-paramiko.sftp.MSG_CHANNEL_CLOSE
-paramiko.sftp_attr.MSG_CHANNEL_CLOSE
-paramiko.sftp_client.MSG_CHANNEL_CLOSE
-paramiko.sftp_file.MSG_CHANNEL_CLOSE
-paramiko.sftp_handle.MSG_CHANNEL_CLOSE
-paramiko.sftp_server.MSG_CHANNEL_CLOSE
-paramiko.sftp_si.MSG_CHANNEL_CLOSE
-paramiko.transport.MSG_CHANNEL_CLOSE
-paramiko.util.MSG_CHANNEL_CLOSE" class="py-name" href="#" onclick="return doclink('link-611', 'MSG_CHANNEL_CLOSE', 'link-611');">MSG_CHANNEL_CLOSE</a></tt><tt class="py-op">:</tt> <tt id="link-612" class="py-name"><a title="paramiko.Channel" class="py-name" href="#" onclick="return doclink('link-612', 'Channel', 'link-6');">Channel</a></tt><tt class="py-op">.</tt><tt class="py-name">_handle_close</tt><tt class="py-op">,</tt> </tt>
-<a name="L2098"></a><tt class="py-lineno">2098</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
-</div><a name="L2099"></a><tt class="py-lineno">2099</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:06 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.transport.ChannelMap-class.html b/docs/paramiko.transport.ChannelMap-class.html
deleted file mode 100644
index b9d6b70..0000000
--- a/docs/paramiko.transport.ChannelMap-class.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.transport.ChannelMap</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.transport-module.html" onclick="show_private();">Module&nbsp;transport</a> ::
- Class&nbsp;ChannelMap
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.transport.ChannelMap-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class ChannelMap</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">ChannelMap</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.transport.ChannelMap-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="put"></a><span class="summary-sig-name">put</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">chanid</span>,
- <span class="summary-sig-arg">chan</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.put">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get"></a><span class="summary-sig-name">get</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">chanid</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.get">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="delete"></a><span class="summary-sig-name">delete</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">chanid</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.delete">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="values"></a><span class="summary-sig-name">values</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.values">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__len__"></a><span class="summary-sig-name">__len__</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.__len__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.transport-pysrc.html#ChannelMap.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.util-module.html b/docs/paramiko.util-module.html
deleted file mode 100644
index e35440e..0000000
--- a/docs/paramiko.util-module.html
+++ /dev/null
@@ -1,965 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.util</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;util
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.util-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module util</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.util-pysrc.html">source&nbsp;code</a></span></p>
-<p>Useful functions used by the rest of paramiko.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.util.enumerate-class.html" class="summary-name">enumerate</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.util.PFilter-class.html" class="summary-name">PFilter</a>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.util.Counter-class.html" class="summary-name">Counter</a><br />
- Stateful counter for CTR mode crypto
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Functions</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="inflate_long"></a><span class="summary-sig-name">inflate_long</span>(<span class="summary-sig-arg">s</span>,
- <span class="summary-sig-arg">always_positive</span>=<span class="summary-sig-default">False</span>)</span><br />
- turns a normalized byte string into a long-int (adapted from
- Crypto.Util.number)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#inflate_long">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="deflate_long"></a><span class="summary-sig-name">deflate_long</span>(<span class="summary-sig-arg">n</span>,
- <span class="summary-sig-arg">add_sign_padding</span>=<span class="summary-sig-default">True</span>)</span><br />
- turns a long-int into a normalized byte string (adapted from
- Crypto.Util.number)</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#deflate_long">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="format_binary_weird"></a><span class="summary-sig-name">format_binary_weird</span>(<span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#format_binary_weird">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="format_binary"></a><span class="summary-sig-name">format_binary</span>(<span class="summary-sig-arg">data</span>,
- <span class="summary-sig-arg">prefix</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#format_binary">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="format_binary_line"></a><span class="summary-sig-name">format_binary_line</span>(<span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#format_binary_line">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="hexify"></a><span class="summary-sig-name">hexify</span>(<span class="summary-sig-arg">s</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#hexify">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="unhexify"></a><span class="summary-sig-name">unhexify</span>(<span class="summary-sig-arg">s</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#unhexify">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="safe_string"></a><span class="summary-sig-name">safe_string</span>(<span class="summary-sig-arg">s</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#safe_string">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="bit_length"></a><span class="summary-sig-name">bit_length</span>(<span class="summary-sig-arg">n</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#bit_length">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="tb_strings"></a><span class="summary-sig-name">tb_strings</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#tb_strings">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">string</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.util-module.html#generate_key_bytes" class="summary-sig-name">generate_key_bytes</a>(<span class="summary-sig-arg">hashclass</span>,
- <span class="summary-sig-arg">salt</span>,
- <span class="summary-sig-arg">key</span>,
- <span class="summary-sig-arg">nbytes</span>)</span><br />
- Given a password, passphrase, or other human-source key, scramble it
- through a secure hash into some keyworthy bytes.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#generate_key_bytes">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">dict(hostname, dict(keytype, <a href="paramiko.PKey-class.html"
- class="link">PKey</a>))</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.util-module.html#load_host_keys" class="summary-sig-name">load_host_keys</a>(<span class="summary-sig-arg">filename</span>)</span><br />
- Read a file of known SSH host keys, in the format used by openssh,
- and return a compound dict of <code>hostname -&gt; keytype
- -&gt;</code> <a href="paramiko.PKey-class.html"
- class="link">PKey</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#load_host_keys">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="parse_ssh_config"></a><span class="summary-sig-name">parse_ssh_config</span>(<span class="summary-sig-arg">file_obj</span>)</span><br />
- Provided only as a backward-compatible wrapper around <a
- href="paramiko.SSHConfig-class.html" class="link">SSHConfig</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#parse_ssh_config">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="lookup_ssh_host_config"></a><span class="summary-sig-name">lookup_ssh_host_config</span>(<span class="summary-sig-arg">hostname</span>,
- <span class="summary-sig-arg">config</span>)</span><br />
- Provided only as a backward-compatible wrapper around <a
- href="paramiko.SSHConfig-class.html" class="link">SSHConfig</a>.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#lookup_ssh_host_config">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="mod_inverse"></a><span class="summary-sig-name">mod_inverse</span>(<span class="summary-sig-arg">x</span>,
- <span class="summary-sig-arg">m</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#mod_inverse">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_thread_id"></a><span class="summary-sig-name">get_thread_id</span>()</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#get_thread_id">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="log_to_file"></a><span class="summary-sig-name">log_to_file</span>(<span class="summary-sig-arg">filename</span>,
- <span class="summary-sig-arg">level</span>=<span class="summary-sig-default">10</span>)</span><br />
- send paramiko logs to a logfile, if they're not already going
- somewhere</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#log_to_file">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="get_logger"></a><span class="summary-sig-name">get_logger</span>(<span class="summary-sig-arg">name</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#get_logger">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.util-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
- 2: 'Connect failed',
- 3: 'Unknown channel type',
- 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.util-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
- 2: 'ignore',
- 3: 'unimplemented',
- 4: 'debug',
- 5: 'service-request',
- 6: 'service-accept',
- 20: 'kexinit',
- 21: 'newkeys',
-..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="rng"></a><span class="summary-name">rng</span> = <code title="Random.new()">Random.new()</code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Function Details</span></td>
-</tr>
-</table>
-<a name="generate_key_bytes"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">generate_key_bytes</span>(<span class="sig-arg">hashclass</span>,
- <span class="sig-arg">salt</span>,
- <span class="sig-arg">key</span>,
- <span class="sig-arg">nbytes</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.util-pysrc.html#generate_key_bytes">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Given a password, passphrase, or other human-source key, scramble it
- through a secure hash into some keyworthy bytes. This specific algorithm
- is used for encrypting/decrypting private key files.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>hashclass</code></strong> (<code class="link">Crypto.Hash</code>) - class from <code class="link">Crypto.Hash</code> that can be used
- as a secure hashing function (like <code>MD5</code> or
- <code>SHA</code>).</li>
- <li><strong class="pname"><code>salt</code></strong> (string) - data to salt the hash with.</li>
- <li><strong class="pname"><code>key</code></strong> (string) - human-entered password or passphrase.</li>
- <li><strong class="pname"><code>nbytes</code></strong> (int) - number of bytes to generate.</li>
- </ul></dd>
- <dt>Returns: string</dt>
- <dd>key data</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="load_host_keys"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">load_host_keys</span>(<span class="sig-arg">filename</span>)</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.util-pysrc.html#load_host_keys">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Read a file of known SSH host keys, in the format used by openssh, and
- return a compound dict of <code>hostname -&gt; keytype -&gt;</code> <a
- href="paramiko.PKey-class.html" class="link">PKey</a>. The hostname may
- be an IP address or DNS name. The keytype will be either
- <code>&quot;ssh-rsa&quot;</code> or <code>&quot;ssh-dss&quot;</code>.</p>
- <p>This type of file unfortunately doesn't exist on Windows, but on
- posix, it will usually be stored in
- <code>os.path.expanduser(&quot;~/.ssh/known_hosts&quot;)</code>.</p>
- <p>Since 1.5.3, this is just a wrapper around <a
- href="paramiko.HostKeys-class.html" class="link">HostKeys</a>.</p>
- <dl class="fields">
- <dt>Parameters:</dt>
- <dd><ul class="nomargin-top">
- <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to read host keys from</li>
- </ul></dd>
- <dt>Returns: dict(hostname, dict(keytype, <a href="paramiko.PKey-class.html"
- class="link">PKey</a>))</dt>
- <dd>dict of host keys, indexed by hostname and then keytype</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== VARIABLES DETAILS ==================== -->
-<a name="section-VariablesDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables Details</span></td>
-</tr>
-</table>
-<a name="CONNECTION_FAILED_CODE"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<a name="MSG_NAMES"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <h3 class="epydoc">MSG_NAMES</h3>
-
- <dl class="fields">
- </dl>
- <dl class="fields">
- <dt>Value:</dt>
- <dd><table><tr><td><pre class="variable">
-<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
- 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
-<code class="variable-ellipsis">...</code>
-</pre></td></tr></table>
-</dd>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.util-pysrc.html b/docs/paramiko.util-pysrc.html
deleted file mode 100644
index 9a922d6..0000000
--- a/docs/paramiko.util-pysrc.html
+++ /dev/null
@@ -1,434 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.util</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;util
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.util-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.util-module.html">Module paramiko.util</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2003-2007 Robey Pointer &lt;robeypointer@gmail.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">Useful functions used by the rest of paramiko.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">generators</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">array</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">binascii</tt> <tt class="py-keyword">import</tt> <tt class="py-name">hexlify</tt><tt class="py-op">,</tt> <tt class="py-name">unhexlify</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">traceback</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package paramiko=paramiko-module.html"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-0', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module paramiko.common=paramiko.common-module.html"><a title="paramiko.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-2', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module paramiko.config=paramiko.config-module.html"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-3', 'config', 'link-3');">config</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class paramiko.SSHConfig=paramiko.SSHConfig-class.html"><a title="paramiko.SSHConfig" class="py-name" href="#" onclick="return doclink('link-4', 'SSHConfig', 'link-4');">SSHConfig</a></tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-comment"># Change by RogerB - python &lt; 2.3 doesn't have enumerate so we implement it</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt> <tt class="py-op">&lt;</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="enumerate"></a><div id="enumerate-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="enumerate-toggle" onclick="return toggle('enumerate');">-</a><tt class="py-line"> <tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.util.enumerate-class.html">enumerate</a><tt class="py-op">:</tt> </tt>
-</div><div id="enumerate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="enumerate-expanded"><a name="enumerate.__init__"></a><div id="enumerate.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="enumerate.__init__-toggle" onclick="return toggle('enumerate.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util.enumerate-class.html#__init__">__init__</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sequence</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="enumerate.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++++++"></div><div id="enumerate.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequence</tt> <tt class="py-op">=</tt> <tt class="py-name">sequence</tt> </tt>
-</div><a name="enumerate.__iter__"></a><div id="enumerate.__iter__-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="enumerate.__iter__-toggle" onclick="return toggle('enumerate.__iter__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util.enumerate-class.html#__iter__">__iter__</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="enumerate.__iter__-collapsed" style="display:none;" pad="+++" indent="++++++++++++++++"></div><div id="enumerate.__iter__-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequence</tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-op">(</tt><tt class="py-name">count</tt><tt class="py-op">,</tt> <tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-</div></div><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
-<a name="inflate_long"></a><div id="inflate_long-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="inflate_long-toggle" onclick="return toggle('inflate_long');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#inflate_long">inflate_long</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">always_positive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="inflate_long-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inflate_long-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-docstring">"turns a normalized byte string into a long-int (adapted from Crypto.Util.number)"</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">negative</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">always_positive</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">negative</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">filler</tt> <tt class="py-op">=</tt> <tt class="py-string">'\x00'</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">negative</tt><tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">filler</tt> <tt class="py-op">=</tt> <tt class="py-string">'\xff'</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">filler</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">s</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">out</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-number">32</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">negative</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">-=</tt> <tt class="py-op">(</tt><tt class="py-number">1L</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-op">(</tt><tt class="py-number">8</tt> <tt class="py-op">*</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
-<a name="deflate_long"></a><div id="deflate_long-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="deflate_long-toggle" onclick="return toggle('deflate_long');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#deflate_long">deflate_long</a><tt class="py-op">(</tt><tt class="py-param">n</tt><tt class="py-op">,</tt> <tt class="py-param">add_sign_padding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="deflate_long-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="deflate_long-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-docstring">"turns a long-int into a normalized byte string (adapted from Crypto.Util.number)"</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-comment"># after much testing, this algorithm was deemed to be the fastest</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">!=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0xffffffffL</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">s</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;&gt;</tt> <tt class="py-number">32</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-comment"># strip off leading zeros, FFs</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-5" class="py-name" targets="Class paramiko.util.enumerate=paramiko.util.enumerate-class.html"><a title="paramiko.util.enumerate" class="py-name" href="#" onclick="return doclink('link-5', 'enumerate', 'link-5');">enumerate</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\000'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\xff'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-comment"># degenerate case, n was either 0 or -1</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">'\000'</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">'\xff'</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">add_sign_padding</tt><tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">+</tt> <tt class="py-name">s</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">'\xff'</tt> <tt class="py-op">+</tt> <tt class="py-name">s</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">s</tt> </tt>
-</div><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
-<a name="format_binary_weird"></a><div id="format_binary_weird-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="format_binary_weird-toggle" onclick="return toggle('format_binary_weird');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#format_binary_weird">format_binary_weird</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="format_binary_weird-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="format_binary_weird-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-6" class="py-name"><a title="paramiko.util.enumerate" class="py-name" href="#" onclick="return doclink('link-6', 'enumerate', 'link-5');">enumerate</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'%02X'</tt> <tt class="py-op">%</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">%</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">%</tt> <tt class="py-number">16</tt> <tt class="py-op">==</tt> <tt class="py-number">15</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'\n'</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
-<a name="format_binary"></a><div id="format_binary-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="format_binary-toggle" onclick="return toggle('format_binary');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#format_binary">format_binary</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="format_binary-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="format_binary-expanded"><a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">x</tt> <tt class="py-op">+</tt> <tt class="py-number">16</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-7" class="py-name" targets="Function paramiko.util.format_binary_line()=paramiko.util-module.html#format_binary_line"><a title="paramiko.util.format_binary_line" class="py-name" href="#" onclick="return doclink('link-7', 'format_binary_line', 'link-7');">format_binary_line</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">:</tt><tt class="py-name">x</tt><tt class="py-op">+</tt><tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">+=</tt> <tt class="py-number">16</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">x</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="paramiko.util.format_binary_line" class="py-name" href="#" onclick="return doclink('link-8', 'format_binary_line', 'link-7');">format_binary_line</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-name">x</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">out</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
-<a name="format_binary_line"></a><div id="format_binary_line-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="format_binary_line-toggle" onclick="return toggle('format_binary_line');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#format_binary_line">format_binary_line</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="format_binary_line-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="format_binary_line-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">left</tt> <tt class="py-op">=</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'%02X'</tt> <tt class="py-op">%</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">right</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'.%c..'</tt> <tt class="py-op">%</tt> <tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">63</tt><tt class="py-op">)</tt><tt class="py-op">//</tt><tt class="py-number">95</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%-50s %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">left</tt><tt class="py-op">,</tt> <tt class="py-name">right</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
-<a name="hexify"></a><div id="hexify-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="hexify-toggle" onclick="return toggle('hexify');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#hexify">hexify</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="hexify-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="hexify-expanded"><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">hexlify</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> </tt>
-<a name="unhexify"></a><div id="unhexify-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="unhexify-toggle" onclick="return toggle('unhexify');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#unhexify">unhexify</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="unhexify-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="unhexify-expanded"><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">unhexlify</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
-<a name="safe_string"></a><div id="safe_string-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="safe_string-toggle" onclick="return toggle('safe_string');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#safe_string">safe_string</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="safe_string-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="safe_string-expanded"><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">32</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">c</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">'%%%02X'</tt> <tt class="py-op">%</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">out</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-comment"># ''.join([['%%%02X' % ord(c), c][(ord(c) &gt;= 32) and (ord(c) &lt;= 127)] for c in s])</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
-<a name="bit_length"></a><div id="bit_length-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="bit_length-toggle" onclick="return toggle('bit_length');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#bit_length">bit_length</a><tt class="py-op">(</tt><tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="bit_length-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="bit_length-expanded"><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">norm</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name" targets="Function paramiko.util.deflate_long()=paramiko.util-module.html#deflate_long"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-9', 'deflate_long', 'link-9');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">hbyte</tt> <tt class="py-op">=</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">norm</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hbyte</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">bitlen</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">norm</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">hbyte</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">hbyte</tt> <tt class="py-op">&lt;&lt;=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">bitlen</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">bitlen</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
-<a name="tb_strings"></a><div id="tb_strings-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="tb_strings-toggle" onclick="return toggle('tb_strings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#tb_strings">tb_strings</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="tb_strings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="tb_strings-expanded"><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">traceback</tt><tt class="py-op">.</tt><tt class="py-name">format_exception</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt>
-<a name="generate_key_bytes"></a><div id="generate_key_bytes-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="generate_key_bytes-toggle" onclick="return toggle('generate_key_bytes');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#generate_key_bytes">generate_key_bytes</a><tt class="py-op">(</tt><tt class="py-param">hashclass</tt><tt class="py-op">,</tt> <tt class="py-param">salt</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">nbytes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="generate_key_bytes-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="generate_key_bytes-expanded"><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> Given a password, passphrase, or other human-source key, scramble it</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> through a secure hash into some keyworthy bytes. This specific algorithm</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> is used for encrypting/decrypting private key files.</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> @param hashclass: class from L{Crypto.Hash} that can be used as a secure</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> hashing function (like C{MD5} or C{SHA}).</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> @type hashclass: L{Crypto.Hash}</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> @param salt: data to salt the hash with.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> @type salt: string</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> @param key: human-entered password or passphrase.</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> @type key: string</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> @param nbytes: number of bytes to generate.</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> @type nbytes: int</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> @return: key data</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: string</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">keydata</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">digest</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">8</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">salt</tt> <tt class="py-op">=</tt> <tt class="py-name">salt</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">nbytes</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt> <tt class="py-op">=</tt> <tt class="py-name">hashclass</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Class Method paramiko.util.Counter.new()=paramiko.util.Counter-class.html#new"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-10', 'new', 'link-10');">new</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">digest</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">digest</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">hash_obj</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">digest</tt> <tt class="py-op">=</tt> <tt class="py-name">hash_obj</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">nbytes</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">digest</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">keydata</tt> <tt class="py-op">+=</tt> <tt class="py-name">digest</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">size</tt><tt class="py-op">]</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">nbytes</tt> <tt class="py-op">-=</tt> <tt class="py-name">size</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">keydata</tt> </tt>
-</div><a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> </tt>
-<a name="load_host_keys"></a><div id="load_host_keys-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="load_host_keys-toggle" onclick="return toggle('load_host_keys');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#load_host_keys">load_host_keys</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="load_host_keys-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_host_keys-expanded"><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> Read a file of known SSH host keys, in the format used by openssh, and</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> return a compound dict of C{hostname -&gt; keytype -&gt;} L{PKey &lt;paramiko.pkey.PKey&gt;}.</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> The hostname may be an IP address or DNS name. The keytype will be either</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> C{"ssh-rsa"} or C{"ssh-dss"}.</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> This type of file unfortunately doesn't exist on Windows, but on posix,</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> it will usually be stored in C{os.path.expanduser("~/.ssh/known_hosts")}.</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"> Since 1.5.3, this is just a wrapper around L{HostKeys}.</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> @param filename: name of the file to read host keys from</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"> @type filename: str</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> @return: dict of host keys, indexed by hostname and then keytype</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> @rtype: dict(hostname, dict(keytype, L{PKey &lt;paramiko.pkey.PKey&gt;}))</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-11" class="py-name"><a title="paramiko" class="py-name" href="#" onclick="return doclink('link-11', 'paramiko', 'link-0');">paramiko</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Module paramiko.hostkeys=paramiko.hostkeys-module.html"><a title="paramiko.hostkeys" class="py-name" href="#" onclick="return doclink('link-12', 'hostkeys', 'link-12');">hostkeys</a></tt> <tt class="py-keyword">import</tt> <tt id="link-13" class="py-name" targets="Class paramiko.HostKeys=paramiko.HostKeys-class.html"><a title="paramiko.HostKeys" class="py-name" href="#" onclick="return doclink('link-13', 'HostKeys', 'link-13');">HostKeys</a></tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-14" class="py-name"><a title="paramiko.HostKeys" class="py-name" href="#" onclick="return doclink('link-14', 'HostKeys', 'link-13');">HostKeys</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> </tt>
-<a name="parse_ssh_config"></a><div id="parse_ssh_config-def"><a name="L204"></a><tt class="py-lineno">204</tt> <a class="py-toggle" href="#" id="parse_ssh_config-toggle" onclick="return toggle('parse_ssh_config');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#parse_ssh_config">parse_ssh_config</a><tt class="py-op">(</tt><tt class="py-param">file_obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="parse_ssh_config-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse_ssh_config-expanded"><a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> Provided only as a backward-compatible wrapper around L{SSHConfig}.</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-15', 'config', 'link-3');">config</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="paramiko.SSHConfig" class="py-name" href="#" onclick="return doclink('link-16', 'SSHConfig', 'link-4');">SSHConfig</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt id="link-17" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-17', 'config', 'link-3');">config</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method paramiko.SSHConfig.parse()=paramiko.SSHConfig-class.html#parse"><a title="paramiko.SSHConfig.parse" class="py-name" href="#" onclick="return doclink('link-18', 'parse', 'link-18');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-19', 'config', 'link-3');">config</a></tt> </tt>
-</div><a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> </tt>
-<a name="lookup_ssh_host_config"></a><div id="lookup_ssh_host_config-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="lookup_ssh_host_config-toggle" onclick="return toggle('lookup_ssh_host_config');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#lookup_ssh_host_config">lookup_ssh_host_config</a><tt class="py-op">(</tt><tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-param">config</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="lookup_ssh_host_config-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="lookup_ssh_host_config-expanded"><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> Provided only as a backward-compatible wrapper around L{SSHConfig}.</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="paramiko.config" class="py-name" href="#" onclick="return doclink('link-20', 'config', 'link-3');">config</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method paramiko.HostKeys.lookup()=paramiko.HostKeys-class.html#lookup,Method paramiko.SSHConfig.lookup()=paramiko.SSHConfig-class.html#lookup"><a title="paramiko.HostKeys.lookup
-paramiko.SSHConfig.lookup" class="py-name" href="#" onclick="return doclink('link-21', 'lookup', 'link-21');">lookup</a></tt><tt class="py-op">(</tt><tt class="py-name">hostname</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> </tt>
-<a name="mod_inverse"></a><div id="mod_inverse-def"><a name="L218"></a><tt class="py-lineno">218</tt> <a class="py-toggle" href="#" id="mod_inverse-toggle" onclick="return toggle('mod_inverse');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#mod_inverse">mod_inverse</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">m</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="mod_inverse-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mod_inverse-expanded"><a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-comment"># it's crazy how small python can make this function.</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">u1</tt><tt class="py-op">,</tt> <tt class="py-name">u2</tt><tt class="py-op">,</tt> <tt class="py-name">u3</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">v1</tt><tt class="py-op">,</tt> <tt class="py-name">v2</tt><tt class="py-op">,</tt> <tt class="py-name">v3</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">v3</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">u3</tt> <tt class="py-op">//</tt> <tt class="py-name">v3</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">u1</tt><tt class="py-op">,</tt> <tt class="py-name">v1</tt> <tt class="py-op">=</tt> <tt class="py-name">v1</tt><tt class="py-op">,</tt> <tt class="py-name">u1</tt> <tt class="py-op">-</tt> <tt class="py-name">v1</tt> <tt class="py-op">*</tt> <tt class="py-name">q</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">u2</tt><tt class="py-op">,</tt> <tt class="py-name">v2</tt> <tt class="py-op">=</tt> <tt class="py-name">v2</tt><tt class="py-op">,</tt> <tt class="py-name">u2</tt> <tt class="py-op">-</tt> <tt class="py-name">v2</tt> <tt class="py-op">*</tt> <tt class="py-name">q</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">u3</tt><tt class="py-op">,</tt> <tt class="py-name">v3</tt> <tt class="py-op">=</tt> <tt class="py-name">v3</tt><tt class="py-op">,</tt> <tt class="py-name">u3</tt> <tt class="py-op">-</tt> <tt class="py-name">v3</tt> <tt class="py-op">*</tt> <tt class="py-name">q</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">u2</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-name">u2</tt> <tt class="py-op">+=</tt> <tt class="py-name">m</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">u2</tt> </tt>
-</div><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable paramiko.util._g_thread_ids=paramiko.util-module.html#_g_thread_ids"><a title="paramiko.util._g_thread_ids" class="py-name" href="#" onclick="return doclink('link-22', '_g_thread_ids', 'link-22');">_g_thread_ids</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt id="link-23" class="py-name" targets="Variable paramiko.util._g_thread_counter=paramiko.util-module.html#_g_thread_counter"><a title="paramiko.util._g_thread_counter" class="py-name" href="#" onclick="return doclink('link-23', '_g_thread_counter', 'link-23');">_g_thread_counter</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt id="link-24" class="py-name" targets="Variable paramiko.util._g_thread_lock=paramiko.util-module.html#_g_thread_lock"><a title="paramiko.util._g_thread_lock" class="py-name" href="#" onclick="return doclink('link-24', '_g_thread_lock', 'link-24');">_g_thread_lock</a></tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="get_thread_id"></a><div id="get_thread_id-def"><a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="get_thread_id-toggle" onclick="return toggle('get_thread_id');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#get_thread_id">get_thread_id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_thread_id-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_thread_id-expanded"><a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-25" class="py-name"><a title="paramiko.util._g_thread_ids" class="py-name" href="#" onclick="return doclink('link-25', '_g_thread_ids', 'link-22');">_g_thread_ids</a></tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name"><a title="paramiko.util._g_thread_counter" class="py-name" href="#" onclick="return doclink('link-26', '_g_thread_counter', 'link-23');">_g_thread_counter</a></tt><tt class="py-op">,</tt> <tt id="link-27" class="py-name"><a title="paramiko.util._g_thread_lock" class="py-name" href="#" onclick="return doclink('link-27', '_g_thread_lock', 'link-24');">_g_thread_lock</a></tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">tid</tt> <tt class="py-op">=</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">currentThread</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-28" class="py-name"><a title="paramiko.util._g_thread_ids" class="py-name" href="#" onclick="return doclink('link-28', '_g_thread_ids', 'link-22');">_g_thread_ids</a></tt><tt class="py-op">[</tt><tt class="py-name">tid</tt><tt class="py-op">]</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt id="link-29" class="py-name"><a title="paramiko.util._g_thread_lock" class="py-name" href="#" onclick="return doclink('link-29', '_g_thread_lock', 'link-24');">_g_thread_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt id="link-30" class="py-name"><a title="paramiko.util._g_thread_counter" class="py-name" href="#" onclick="return doclink('link-30', '_g_thread_counter', 'link-23');">_g_thread_counter</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-name">ret</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="paramiko.util._g_thread_ids" class="py-name" href="#" onclick="return doclink('link-31', '_g_thread_ids', 'link-22');">_g_thread_ids</a></tt><tt class="py-op">[</tt><tt class="py-name">tid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="paramiko.util._g_thread_counter" class="py-name" href="#" onclick="return doclink('link-32', '_g_thread_counter', 'link-23');">_g_thread_counter</a></tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt id="link-33" class="py-name"><a title="paramiko.util._g_thread_lock" class="py-name" href="#" onclick="return doclink('link-33', '_g_thread_lock', 'link-24');">_g_thread_lock</a></tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
-</div><a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> </tt>
-<a name="log_to_file"></a><div id="log_to_file-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="log_to_file-toggle" onclick="return toggle('log_to_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#log_to_file">log_to_file</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">=</tt><tt id="link-34" class="py-name" targets="Variable paramiko.auth_handler.DEBUG=paramiko.auth_handler-module.html#DEBUG,Variable paramiko.channel.DEBUG=paramiko.channel-module.html#DEBUG,Variable paramiko.client.DEBUG=paramiko.client-module.html#DEBUG,Variable paramiko.common.DEBUG=paramiko.common-module.html#DEBUG,Variable paramiko.dsskey.DEBUG=paramiko.dsskey-module.html#DEBUG,Variable paramiko.hostkeys.DEBUG=paramiko.hostkeys-module.html#DEBUG,Variable paramiko.kex_gex.DEBUG=paramiko.kex_gex-module.html#DEBUG,Variable paramiko.kex_group1.DEBUG=paramiko.kex_group1-module.html#DEBUG,Variable paramiko.logging22.DEBUG=paramiko.logging22-module.html#DEBUG,Variable paramiko.packet.DEBUG=paramiko.packet-module.html#DEBUG,Variable paramiko.pkey.DEBUG=paramiko.pkey-module.html#DEBUG,Variable paramiko.rsakey.DEBUG=paramiko.rsakey-module.html#DEBUG,Variable paramiko.server.DEBUG=paramiko.server-module.html#DEBUG,Variable paramiko.sftp.DEBUG=paramiko.sftp-module.html#DEBUG,Variable paramiko.sftp_attr.DEBUG=paramiko.sftp_attr-module.html#DEBUG,Variable paramiko.sftp_client.DEBUG=paramiko.sftp_client-module.html#DEBUG,Variable paramiko.sftp_file.DEBUG=paramiko.sftp_file-module.html#DEBUG,Variable paramiko.sftp_handle.DEBUG=paramiko.sftp_handle-module.html#DEBUG,Variable paramiko.sftp_server.DEBUG=paramiko.sftp_server-module.html#DEBUG,Variable paramiko.sftp_si.DEBUG=paramiko.sftp_si-module.html#DEBUG,Variable paramiko.transport.DEBUG=paramiko.transport-module.html#DEBUG,Variable paramiko.util.DEBUG=paramiko.util-module.html#DEBUG"><a title="paramiko.auth_handler.DEBUG
-paramiko.channel.DEBUG
-paramiko.client.DEBUG
-paramiko.common.DEBUG
-paramiko.dsskey.DEBUG
-paramiko.hostkeys.DEBUG
-paramiko.kex_gex.DEBUG
-paramiko.kex_group1.DEBUG
-paramiko.logging22.DEBUG
-paramiko.packet.DEBUG
-paramiko.pkey.DEBUG
-paramiko.rsakey.DEBUG
-paramiko.server.DEBUG
-paramiko.sftp.DEBUG
-paramiko.sftp_attr.DEBUG
-paramiko.sftp_client.DEBUG
-paramiko.sftp_file.DEBUG
-paramiko.sftp_handle.DEBUG
-paramiko.sftp_server.DEBUG
-paramiko.sftp_si.DEBUG
-paramiko.transport.DEBUG
-paramiko.util.DEBUG" class="py-name" href="#" onclick="return doclink('link-34', 'DEBUG', 'link-34');">DEBUG</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="log_to_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="log_to_file-expanded"><a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-docstring">"send paramiko logs to a logfile, if they're not already going somewhere"</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Function paramiko.logging22.getLogger()=paramiko.logging22-module.html#getLogger"><a title="paramiko.logging22.getLogger" class="py-name" href="#" onclick="return doclink('link-35', 'getLogger', 'link-35');">getLogger</a></tt><tt class="py-op">(</tt><tt class="py-string">"paramiko"</tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">handlers</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method paramiko.logging22.logger.setLevel()=paramiko.logging22.logger-class.html#setLevel"><a title="paramiko.logging22.logger.setLevel" class="py-name" href="#" onclick="return doclink('link-36', 'setLevel', 'link-36');">setLevel</a></tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-37', 'open', 'link-37');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">lh</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Class paramiko.logging22.StreamHandler=paramiko.logging22.StreamHandler-class.html"><a title="paramiko.logging22.StreamHandler" class="py-name" href="#" onclick="return doclink('link-38', 'StreamHandler', 'link-38');">StreamHandler</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">lh</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method paramiko.logging22.StreamHandler.setFormatter()=paramiko.logging22.StreamHandler-class.html#setFormatter"><a title="paramiko.logging22.StreamHandler.setFormatter" class="py-name" href="#" onclick="return doclink('link-39', 'setFormatter', 'link-39');">setFormatter</a></tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Class paramiko.logging22.Formatter=paramiko.logging22.Formatter-class.html"><a title="paramiko.logging22.Formatter" class="py-name" href="#" onclick="return doclink('link-40', 'Formatter', 'link-40');">Formatter</a></tt><tt class="py-op">(</tt><tt class="py-string">'%(levelname)-.3s [%(asctime)s.%(msecs)03d] thr=%(_threadid)-3d %(name)s: %(message)s'</tt><tt class="py-op">,</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-string">'%Y%m%d-%H:%M:%S'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method paramiko.logging22.logger.addHandler()=paramiko.logging22.logger-class.html#addHandler"><a title="paramiko.logging22.logger.addHandler" class="py-name" href="#" onclick="return doclink('link-41', 'addHandler', 'link-41');">addHandler</a></tt><tt class="py-op">(</tt><tt class="py-name">lh</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-comment"># make only one filter object, so it doesn't get applied more than once</tt> </tt>
-<a name="PFilter"></a><div id="PFilter-def"><a name="L262"></a><tt class="py-lineno">262</tt> <a class="py-toggle" href="#" id="PFilter-toggle" onclick="return toggle('PFilter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.util.PFilter-class.html">PFilter</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PFilter-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PFilter-expanded"><a name="PFilter.filter"></a><div id="PFilter.filter-def"><a name="L263"></a><tt class="py-lineno">263</tt> <a class="py-toggle" href="#" id="PFilter.filter-toggle" onclick="return toggle('PFilter.filter');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util.PFilter-class.html#filter">filter</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">record</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PFilter.filter-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PFilter.filter-expanded"><a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">record</tt><tt class="py-op">.</tt><tt class="py-name">_threadid</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name" targets="Function paramiko.util.get_thread_id()=paramiko.util-module.html#get_thread_id"><a title="paramiko.util.get_thread_id" class="py-name" href="#" onclick="return doclink('link-42', 'get_thread_id', 'link-42');">get_thread_id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div></div><a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt id="link-43" class="py-name" targets="Variable paramiko.util._pfilter=paramiko.util-module.html#_pfilter"><a title="paramiko.util._pfilter" class="py-name" href="#" onclick="return doclink('link-43', '_pfilter', 'link-43');">_pfilter</a></tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name" targets="Class paramiko.util.PFilter=paramiko.util.PFilter-class.html"><a title="paramiko.util.PFilter" class="py-name" href="#" onclick="return doclink('link-44', 'PFilter', 'link-44');">PFilter</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> </tt>
-<a name="get_logger"></a><div id="get_logger-def"><a name="L268"></a><tt class="py-lineno">268</tt> <a class="py-toggle" href="#" id="get_logger-toggle" onclick="return toggle('get_logger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util-module.html#get_logger">get_logger</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_logger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_logger-expanded"><a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="paramiko.logging22.getLogger" class="py-name" href="#" onclick="return doclink('link-45', 'getLogger', 'link-35');">getLogger</a></tt><tt class="py-op">(</tt><tt id="link-46" class="py-name" targets="Variable paramiko.kex_gex.KexGex.name=paramiko.kex_gex.KexGex-class.html#name,Variable paramiko.kex_group1.KexGroup1.name=paramiko.kex_group1.KexGroup1-class.html#name"><a title="paramiko.kex_gex.KexGex.name
-paramiko.kex_group1.KexGroup1.name" class="py-name" href="#" onclick="return doclink('link-46', 'name', 'link-46');">name</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method paramiko.logging22.logger.addFilter()=paramiko.logging22.logger-class.html#addFilter"><a title="paramiko.logging22.logger.addFilter" class="py-name" href="#" onclick="return doclink('link-47', 'addFilter', 'link-47');">addFilter</a></tt><tt class="py-op">(</tt><tt id="link-48" class="py-name"><a title="paramiko.util._pfilter" class="py-name" href="#" onclick="return doclink('link-48', '_pfilter', 'link-43');">_pfilter</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">l</tt> </tt>
-</div><a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> </tt>
-<a name="Counter"></a><div id="Counter-def"><a name="L274"></a><tt class="py-lineno">274</tt> <a class="py-toggle" href="#" id="Counter-toggle" onclick="return toggle('Counter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.util.Counter-class.html">Counter</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Counter-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Counter-expanded"><a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-docstring">"""Stateful counter for CTR mode crypto"""</tt> </tt>
-<a name="Counter.__init__"></a><div id="Counter.__init__-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="Counter.__init__-toggle" onclick="return toggle('Counter.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util.Counter-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nbits</tt><tt class="py-op">,</tt> <tt class="py-param">initial_value</tt><tt class="py-op">=</tt><tt class="py-number">1L</tt><tt class="py-op">,</tt> <tt class="py-param">overflow</tt><tt class="py-op">=</tt><tt class="py-number">0L</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Counter.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Counter.__init__-expanded"><a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blocksize</tt> <tt class="py-op">=</tt> <tt class="py-name">nbits</tt> <tt class="py-op">/</tt> <tt class="py-number">8</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">overflow</tt> <tt class="py-op">=</tt> <tt class="py-name">overflow</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-comment"># start with value - 1 so we don't have to store intermediate values when counting</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-comment"># could the iv be 0?</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">initial_value</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">array</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'\xFF'</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blocksize</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-49', 'deflate_long', 'link-9');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">initial_value</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">add_sign_padding</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">array</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blocksize</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> </tt>
-<a name="Counter.__call__"></a><div id="Counter.__call__-def"><a name="L287"></a><tt class="py-lineno">287</tt> <a class="py-toggle" href="#" id="Counter.__call__-toggle" onclick="return toggle('Counter.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util.Counter-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Counter.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Counter.__call__-expanded"><a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-docstring">"""Increament the counter and return the new value"""</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blocksize</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">chr</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">256</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt> <tt class="py-op">!=</tt> <tt class="py-string">'\x00'</tt><tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">tostring</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-comment"># counter reset</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="paramiko.util.deflate_long" class="py-name" href="#" onclick="return doclink('link-50', 'deflate_long', 'link-9');">deflate_long</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">overflow</tt><tt class="py-op">,</tt> <tt class="py-name">add_sign_padding</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">array</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'\x00'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">blocksize</tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">tostring</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> </tt>
-<a name="Counter.new"></a><div id="Counter.new-def"><a name="L300"></a><tt class="py-lineno">300</tt> <a class="py-toggle" href="#" id="Counter.new-toggle" onclick="return toggle('Counter.new');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.util.Counter-class.html#new">new</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">nbits</tt><tt class="py-op">,</tt> <tt class="py-param">initial_value</tt><tt class="py-op">=</tt><tt class="py-number">1L</tt><tt class="py-op">,</tt> <tt class="py-param">overflow</tt><tt class="py-op">=</tt><tt class="py-number">0L</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Counter.new-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Counter.new-expanded"><a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">cls</tt><tt class="py-op">(</tt><tt class="py-name">nbits</tt><tt class="py-op">,</tt> <tt class="py-name">initial_value</tt><tt class="py-op">=</tt><tt class="py-name">initial_value</tt><tt class="py-op">,</tt> <tt class="py-name">overflow</tt><tt class="py-op">=</tt><tt class="py-name">overflow</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt id="link-51" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-51', 'new', 'link-10');">new</a></tt> <tt class="py-op">=</tt> <tt class="py-name">classmethod</tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="paramiko.util.Counter.new" class="py-name" href="#" onclick="return doclink('link-52', 'new', 'link-10');">new</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:06 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.util.Counter-class.html b/docs/paramiko.util.Counter-class.html
deleted file mode 100644
index 1469787..0000000
--- a/docs/paramiko.util.Counter-class.html
+++ /dev/null
@@ -1,258 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.util.Counter</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.util-module.html">Module&nbsp;util</a> ::
- Class&nbsp;Counter
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.util.Counter-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Counter</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.util-pysrc.html#Counter">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">Counter</strong>
-</pre>
-
-<hr />
-<p>Stateful counter for CTR mode crypto</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.util.Counter-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">nbits</span>,
- <span class="summary-sig-arg">initial_value</span>=<span class="summary-sig-default">1</span>,
- <span class="summary-sig-arg">overflow</span>=<span class="summary-sig-default">0</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#Counter.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__call__"></a><span class="summary-sig-name">__call__</span>(<span class="summary-sig-arg">self</span>)</span><br />
- Increament the counter and return the new value</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#Counter.__call__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS METHODS ==================== -->
-<a name="section-ClassMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Class Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="new"></a><span class="summary-sig-name">new</span>(<span class="summary-sig-arg">cls</span>,
- <span class="summary-sig-arg">nbits</span>,
- <span class="summary-sig-arg">initial_value</span>=<span class="summary-sig-default">1</span>,
- <span class="summary-sig-arg">overflow</span>=<span class="summary-sig-default">0</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#Counter.new">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
- <span class="sig-arg">nbits</span>,
- <span class="sig-arg">initial_value</span>=<span class="sig-default">1</span>,
- <span class="sig-arg">overflow</span>=<span class="sig-default">0</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.util-pysrc.html#Counter.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.util.PFilter-class.html b/docs/paramiko.util.PFilter-class.html
deleted file mode 100644
index 85db9a9..0000000
--- a/docs/paramiko.util.PFilter-class.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.util.PFilter</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.util-module.html">Module&nbsp;util</a> ::
- Class&nbsp;PFilter
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.util.PFilter-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PFilter</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.util-pysrc.html#PFilter">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">PFilter</strong>
-</pre>
-
-<hr />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="filter"></a><span class="summary-sig-name">filter</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">record</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#PFilter.filter">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__init__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.util.enumerate-class.html b/docs/paramiko.util.enumerate-class.html
deleted file mode 100644
index d084c75..0000000
--- a/docs/paramiko.util.enumerate-class.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.util.enumerate</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.util-module.html">Module&nbsp;util</a> ::
- Class&nbsp;enumerate
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.util.enumerate-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class enumerate</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.util-pysrc.html#enumerate">source&nbsp;code</a></span></p>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">sequence</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#enumerate.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="__iter__"></a><span class="summary-sig-name">__iter__</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.util-pysrc.html#enumerate.__iter__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.win_pageant-module.html b/docs/paramiko.win_pageant-module.html
deleted file mode 100644
index 443dfec..0000000
--- a/docs/paramiko.win_pageant-module.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.win_pageant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;win_pageant
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.win_pageant-module.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module win_pageant</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.win_pageant-pysrc.html">source&nbsp;code</a></span></p>
-<p>Functions for communicating with Pageant, the basic windows ssh agent
- program.</p>
-
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Classes</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a href="paramiko.win_pageant.PageantConnection-class.html" class="summary-name">PageantConnection</a><br />
- Mock &quot;connection&quot; to an agent which roughly approximates
- the behavior of a unix local-domain socket (as used by Agent).
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Functions</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.win_pageant-module.html#can_talk_to_agent" class="summary-sig-name">can_talk_to_agent</a>()</span><br />
- Check to see if there is a &quot;Pageant&quot; agent we can talk to.</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.win_pageant-pysrc.html#can_talk_to_agent">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Variables</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="win32con_WM_COPYDATA"></a><span class="summary-name">win32con_WM_COPYDATA</span> = <code title="74">74</code>
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'paramiko'"><code class="variable-quote">'</code><code class="variable-string">paramiko</code><code class="variable-quote">'</code></code>
- </td>
- </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Function Details</span></td>
-</tr>
-</table>
-<a name="can_talk_to_agent"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">can_talk_to_agent</span>()</span>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.win_pageant-pysrc.html#can_talk_to_agent">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>Check to see if there is a &quot;Pageant&quot; agent we can talk
- to.</p>
- <p>This checks both if we have the required libraries (win32all or
- ctypes) and if there is a Pageant currently running.</p>
- <dl class="fields">
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:03 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.win_pageant-pysrc.html b/docs/paramiko.win_pageant-pysrc.html
deleted file mode 100644
index f96c903..0000000
--- a/docs/paramiko.win_pageant-pysrc.html
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.win_pageant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- Module&nbsp;win_pageant
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.win_pageant-pysrc.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="paramiko.win_pageant-module.html">Module paramiko.win_pageant</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright (C) 2005 John Arbash-Meinel &lt;john@arbash-meinel.com&gt;</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"># Modified up by: Todd Whiteman &lt;ToddW@ActiveState.com&gt;</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"># This file is part of paramiko.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is free software; you can redistribute it and/or modify it under the</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2.1 of the License, or (at your option)</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"># Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU Lesser General Public License</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># along with Paramiko; if not, write to the Free Software Foundation, Inc.,</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"># 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">Functions for communicating with Pageant, the basic windows ssh agent program.</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">tempfile</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mmap</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">array</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-comment"># if you're on windows, you should have one of these, i guess?</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-comment"># ctypes is part of standard library since Python 2.5</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable paramiko.win_pageant._has_win32all=paramiko.win_pageant-module.html#_has_win32all"><a title="paramiko.win_pageant._has_win32all" class="py-name" href="#" onclick="return doclink('link-0', '_has_win32all', 'link-0');">_has_win32all</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable paramiko.win_pageant._has_ctypes=paramiko.win_pageant-module.html#_has_ctypes"><a title="paramiko.win_pageant._has_ctypes" class="py-name" href="#" onclick="return doclink('link-1', '_has_ctypes', 'link-1');">_has_ctypes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-comment"># win32gui is preferred over win32ui to avoid MFC dependencies</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">win32gui</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt id="link-2" class="py-name"><a title="paramiko.win_pageant._has_win32all" class="py-name" href="#" onclick="return doclink('link-2', '_has_win32all', 'link-0');">_has_win32all</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">ctypes</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-3" class="py-name"><a title="paramiko.win_pageant._has_ctypes" class="py-name" href="#" onclick="return doclink('link-3', '_has_ctypes', 'link-1');">_has_ctypes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable paramiko.win_pageant._AGENT_COPYDATA_ID=paramiko.win_pageant-module.html#_AGENT_COPYDATA_ID"><a title="paramiko.win_pageant._AGENT_COPYDATA_ID" class="py-name" href="#" onclick="return doclink('link-4', '_AGENT_COPYDATA_ID', 'link-4');">_AGENT_COPYDATA_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x804e50ba</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable paramiko.win_pageant._AGENT_MAX_MSGLEN=paramiko.win_pageant-module.html#_AGENT_MAX_MSGLEN"><a title="paramiko.win_pageant._AGENT_MAX_MSGLEN" class="py-name" href="#" onclick="return doclink('link-5', '_AGENT_MAX_MSGLEN', 'link-5');">_AGENT_MAX_MSGLEN</a></tt> <tt class="py-op">=</tt> <tt class="py-number">8192</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-comment"># Note: The WM_COPYDATA value is pulled from win32con, as a workaround</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-comment"># so we do not have to import this huge library just for this one variable.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable paramiko.win_pageant.win32con_WM_COPYDATA=paramiko.win_pageant-module.html#win32con_WM_COPYDATA"><a title="paramiko.win_pageant.win32con_WM_COPYDATA" class="py-name" href="#" onclick="return doclink('link-6', 'win32con_WM_COPYDATA', 'link-6');">win32con_WM_COPYDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-number">74</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
-<a name="_get_pageant_window_object"></a><div id="_get_pageant_window_object-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="_get_pageant_window_object-toggle" onclick="return toggle('_get_pageant_window_object');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant-module.html#_get_pageant_window_object">_get_pageant_window_object</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_get_pageant_window_object-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_get_pageant_window_object-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-7" class="py-name"><a title="paramiko.win_pageant._has_win32all" class="py-name" href="#" onclick="return doclink('link-7', '_has_win32all', 'link-0');">_has_win32all</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">hwnd</tt> <tt class="py-op">=</tt> <tt class="py-name">win32gui</tt><tt class="py-op">.</tt><tt class="py-name">FindWindow</tt><tt class="py-op">(</tt><tt class="py-string">'Pageant'</tt><tt class="py-op">,</tt> <tt class="py-string">'Pageant'</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">hwnd</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">win32gui</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-8" class="py-name"><a title="paramiko.win_pageant._has_ctypes" class="py-name" href="#" onclick="return doclink('link-8', '_has_ctypes', 'link-1');">_has_ctypes</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-comment"># Return 0 if there is no Pageant window.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ctypes</tt><tt class="py-op">.</tt><tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">FindWindowA</tt><tt class="py-op">(</tt><tt class="py-string">'Pageant'</tt><tt class="py-op">,</tt> <tt class="py-string">'Pageant'</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="can_talk_to_agent"></a><div id="can_talk_to_agent-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="can_talk_to_agent-toggle" onclick="return toggle('can_talk_to_agent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant-module.html#can_talk_to_agent">can_talk_to_agent</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="can_talk_to_agent-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="can_talk_to_agent-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> Check to see if there is a "Pageant" agent we can talk to.</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> This checks both if we have the required libraries (win32all or ctypes)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> and if there is a Pageant currently running.</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="paramiko.win_pageant._has_win32all" class="py-name" href="#" onclick="return doclink('link-9', '_has_win32all', 'link-0');">_has_win32all</a></tt> <tt class="py-keyword">or</tt> <tt id="link-10" class="py-name"><a title="paramiko.win_pageant._has_ctypes" class="py-name" href="#" onclick="return doclink('link-10', '_has_ctypes', 'link-1');">_has_ctypes</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_get_pageant_window_object</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
-<a name="_query_pageant"></a><div id="_query_pageant-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="_query_pageant-toggle" onclick="return toggle('_query_pageant');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant-module.html#_query_pageant">_query_pageant</a><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_query_pageant-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_query_pageant-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">hwnd</tt> <tt class="py-op">=</tt> <tt class="py-name">_get_pageant_window_object</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hwnd</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-comment"># Raise a failure to connect exception, pageant isn't running anymore!</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-comment"># Write our pageant request string into the file (pageant will read this to determine what to do)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mktemp</tt><tt class="py-op">(</tt><tt class="py-string">'.pag'</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">map_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">basename</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name" targets="Method paramiko.SFTPServerInterface.open()=paramiko.SFTPServerInterface-class.html#open"><a title="paramiko.SFTPServerInterface.open" class="py-name" href="#" onclick="return doclink('link-11', 'open', 'link-11');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w+b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method paramiko.BufferedFile.write()=paramiko.BufferedFile-class.html#write,Method paramiko.SFTPHandle.write()=paramiko.SFTPHandle-class.html#write"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-12', 'write', 'link-12');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">msg</tt> <tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment"># Ensure the rest of the file is empty, otherwise pageant will read this</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="paramiko.BufferedFile.write
-paramiko.SFTPHandle.write" class="py-name" href="#" onclick="return doclink('link-13', 'write', 'link-12');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'\0'</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="paramiko.win_pageant._AGENT_MAX_MSGLEN" class="py-name" href="#" onclick="return doclink('link-14', '_AGENT_MAX_MSGLEN', 'link-5');">_AGENT_MAX_MSGLEN</a></tt> <tt class="py-op">-</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-comment"># Create the shared file map that pageant will use to read from</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">pymap</tt> <tt class="py-op">=</tt> <tt class="py-name">mmap</tt><tt class="py-op">.</tt><tt class="py-name">mmap</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method paramiko.Channel.fileno()=paramiko.Channel-class.html#fileno,Method paramiko.pipe.PosixPipe.fileno()=paramiko.pipe.PosixPipe-class.html#fileno,Method paramiko.pipe.WindowsPipe.fileno()=paramiko.pipe.WindowsPipe-class.html#fileno"><a title="paramiko.Channel.fileno
-paramiko.pipe.PosixPipe.fileno
-paramiko.pipe.WindowsPipe.fileno" class="py-name" href="#" onclick="return doclink('link-15', 'fileno', 'link-15');">fileno</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name"><a title="paramiko.win_pageant._AGENT_MAX_MSGLEN" class="py-name" href="#" onclick="return doclink('link-16', '_AGENT_MAX_MSGLEN', 'link-5');">_AGENT_MAX_MSGLEN</a></tt><tt class="py-op">,</tt> <tt class="py-name">tagname</tt><tt class="py-op">=</tt><tt class="py-name">map_filename</tt><tt class="py-op">,</tt> <tt class="py-name">access</tt><tt class="py-op">=</tt><tt class="py-name">mmap</tt><tt class="py-op">.</tt><tt class="py-name">ACCESS_WRITE</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-comment"># Create an array buffer containing the mapped filename</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">char_buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">array</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-string">"c"</tt><tt class="py-op">,</tt> <tt class="py-name">map_filename</tt> <tt class="py-op">+</tt> <tt class="py-string">'\0'</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">char_buffer_address</tt><tt class="py-op">,</tt> <tt class="py-name">char_buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-name">char_buffer</tt><tt class="py-op">.</tt><tt class="py-name">buffer_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-comment"># Create a string to use for the SendMessage function call</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">cds</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">"LLP"</tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name"><a title="paramiko.win_pageant._AGENT_COPYDATA_ID" class="py-name" href="#" onclick="return doclink('link-17', '_AGENT_COPYDATA_ID', 'link-4');">_AGENT_COPYDATA_ID</a></tt><tt class="py-op">,</tt> <tt class="py-name">char_buffer_size</tt><tt class="py-op">,</tt> <tt class="py-name">char_buffer_address</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-18" class="py-name"><a title="paramiko.win_pageant._has_win32all" class="py-name" href="#" onclick="return doclink('link-18', '_has_win32all', 'link-0');">_has_win32all</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-comment"># win32gui.SendMessage should also allow the same pattern as</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-comment"># ctypes, but let's keep it like this for now...</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">win32gui</tt><tt class="py-op">.</tt><tt class="py-name">SendMessage</tt><tt class="py-op">(</tt><tt class="py-name">hwnd</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="paramiko.win_pageant.win32con_WM_COPYDATA" class="py-name" href="#" onclick="return doclink('link-19', 'win32con_WM_COPYDATA', 'link-6');">win32con_WM_COPYDATA</a></tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">cds</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cds</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-20" class="py-name"><a title="paramiko.win_pageant._has_ctypes" class="py-name" href="#" onclick="return doclink('link-20', '_has_ctypes', 'link-1');">_has_ctypes</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">_buf</tt> <tt class="py-op">=</tt> <tt class="py-name">array</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-string">'B'</tt><tt class="py-op">,</tt> <tt class="py-name">cds</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">_addr</tt><tt class="py-op">,</tt> <tt class="py-name">_size</tt> <tt class="py-op">=</tt> <tt class="py-name">_buf</tt><tt class="py-op">.</tt><tt class="py-name">buffer_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">ctypes</tt><tt class="py-op">.</tt><tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">SendMessageA</tt><tt class="py-op">(</tt><tt class="py-name">hwnd</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="paramiko.win_pageant.win32con_WM_COPYDATA" class="py-name" href="#" onclick="return doclink('link-21', 'win32con_WM_COPYDATA', 'link-6');">win32con_WM_COPYDATA</a></tt><tt class="py-op">,</tt> <tt class="py-name">_size</tt><tt class="py-op">,</tt> <tt class="py-name">_addr</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">response</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">datalen</tt> <tt class="py-op">=</tt> <tt class="py-name">pymap</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method paramiko.BufferedFile.read()=paramiko.BufferedFile-class.html#read,Method paramiko.SFTPHandle.read()=paramiko.SFTPHandle-class.html#read,Method paramiko.buffered_pipe.BufferedPipe.read()=paramiko.buffered_pipe.BufferedPipe-class.html#read"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-22', 'read', 'link-22');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">retlen</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;I'</tt><tt class="py-op">,</tt> <tt class="py-name">datalen</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">datalen</tt> <tt class="py-op">+</tt> <tt class="py-name">pymap</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="paramiko.BufferedFile.read
-paramiko.SFTPHandle.read
-paramiko.buffered_pipe.BufferedPipe.read" class="py-name" href="#" onclick="return doclink('link-23', 'read', 'link-22');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">retlen</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">pymap</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method paramiko.Agent.close()=paramiko.Agent-class.html#close,Method paramiko.BufferedFile.close()=paramiko.BufferedFile-class.html#close,Method paramiko.Channel.close()=paramiko.Channel-class.html#close,Method paramiko.SFTPClient.close()=paramiko.SFTPClient-class.html#close,Method paramiko.SFTPFile.close()=paramiko.SFTPFile-class.html#close,Method paramiko.SFTPHandle.close()=paramiko.SFTPHandle-class.html#close,Method paramiko.SSHClient.close()=paramiko.SSHClient-class.html#close,Method paramiko.Transport.close()=paramiko.Transport-class.html#close,Method paramiko.buffered_pipe.BufferedPipe.close()=paramiko.buffered_pipe.BufferedPipe-class.html#close,Method paramiko.pipe.PosixPipe.close()=paramiko.pipe.PosixPipe-class.html#close,Method paramiko.pipe.WindowsPipe.close()=paramiko.pipe.WindowsPipe-class.html#close,Method paramiko.win_pageant.PageantConnection.close()=paramiko.win_pageant.PageantConnection-class.html#close"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-24', 'close', 'link-24');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="paramiko.Agent.close
-paramiko.BufferedFile.close
-paramiko.Channel.close
-paramiko.SFTPClient.close
-paramiko.SFTPFile.close
-paramiko.SFTPHandle.close
-paramiko.SSHClient.close
-paramiko.Transport.close
-paramiko.buffered_pipe.BufferedPipe.close
-paramiko.pipe.PosixPipe.close
-paramiko.pipe.WindowsPipe.close
-paramiko.win_pageant.PageantConnection.close" class="py-name" href="#" onclick="return doclink('link-25', 'close', 'link-24');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-comment"># Remove the file, it was temporary only</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method paramiko.SFTPClient.unlink()=paramiko.SFTPClient-class.html#unlink"><a title="paramiko.SFTPClient.unlink" class="py-name" href="#" onclick="return doclink('link-26', 'unlink', 'link-26');">unlink</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
-<a name="PageantConnection"></a><div id="PageantConnection-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="PageantConnection-toggle" onclick="return toggle('PageantConnection');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="paramiko.win_pageant.PageantConnection-class.html">PageantConnection</a> <tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PageantConnection-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PageantConnection-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> Mock "connection" to an agent which roughly approximates the behavior of</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> a unix local-domain socket (as used by Agent). Requests are sent to the</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> pageant daemon via special Windows magick, and responses are buffered back</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> for subsequent reads.</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> </tt>
-<a name="PageantConnection.__init__"></a><div id="PageantConnection.__init__-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="PageantConnection.__init__-toggle" onclick="return toggle('PageantConnection.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant.PageantConnection-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PageantConnection.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PageantConnection.__init__-expanded"><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
-<a name="PageantConnection.send"></a><div id="PageantConnection.send-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="PageantConnection.send-toggle" onclick="return toggle('PageantConnection.send');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant.PageantConnection-class.html#send">send</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PageantConnection.send-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PageantConnection.send-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt> <tt class="py-op">=</tt> <tt class="py-name">_query_pageant</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
-<a name="PageantConnection.recv"></a><div id="PageantConnection.recv-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="PageantConnection.recv-toggle" onclick="return toggle('PageantConnection.recv');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant.PageantConnection-class.html#recv">recv</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PageantConnection.recv-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PageantConnection.recv-expanded"><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">ret</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">n</tt><tt class="py-op">]</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_response</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
-<a name="PageantConnection.close"></a><div id="PageantConnection.close-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="PageantConnection.close-toggle" onclick="return toggle('PageantConnection.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="paramiko.win_pageant.PageantConnection-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PageantConnection.close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PageantConnection.close-expanded"><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div></div><a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:08 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/paramiko.win_pageant.PageantConnection-class.html b/docs/paramiko.win_pageant.PageantConnection-class.html
deleted file mode 100644
index 1170e05..0000000
--- a/docs/paramiko.win_pageant.PageantConnection-class.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko.win_pageant.PageantConnection</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">
- <span class="breadcrumbs">
- <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
- <a href="paramiko.win_pageant-module.html">Module&nbsp;win_pageant</a> ::
- Class&nbsp;PageantConnection
- </span>
- </td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="paramiko.win_pageant.PageantConnection-class.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PageantConnection</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.win_pageant-pysrc.html#PageantConnection">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
- |
- <strong class="uidshort">PageantConnection</strong>
-</pre>
-
-<hr />
-<p>Mock &quot;connection&quot; to an agent which roughly approximates the
- behavior of a unix local-domain socket (as used by Agent). Requests are
- sent to the pageant daemon via special Windows magick, and responses are
- buffered back for subsequent reads.</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Instance Methods</span></td>
-</tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a href="paramiko.win_pageant.PageantConnection-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
- x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.win_pageant-pysrc.html#PageantConnection.__init__">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="send"></a><span class="summary-sig-name">send</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">data</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.win_pageant-pysrc.html#PageantConnection.send">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="recv"></a><span class="summary-sig-name">recv</span>(<span class="summary-sig-arg">self</span>,
- <span class="summary-sig-arg">n</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.win_pageant-pysrc.html#PageantConnection.recv">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-<tr>
- <td width="15%" align="right" valign="top" class="summary">
- <span class="summary-type">&nbsp;</span>
- </td><td class="summary">
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span></td>
- <td align="right" valign="top">
- <span class="codelink"><a href="paramiko.win_pageant-pysrc.html#PageantConnection.close">source&nbsp;code</a></span>
-
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__delattr__</code>,
- <code>__format__</code>,
- <code>__getattribute__</code>,
- <code>__hash__</code>,
- <code>__new__</code>,
- <code>__reduce__</code>,
- <code>__reduce_ex__</code>,
- <code>__repr__</code>,
- <code>__setattr__</code>,
- <code>__sizeof__</code>,
- <code>__str__</code>,
- <code>__subclasshook__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Properties</span></td>
-</tr>
- <tr>
- <td colspan="2" class="summary">
- <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
- <code>__class__</code>
- </p>
- </td>
- </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
- <td align="left" colspan="2" class="table-header">
- <span class="table-header">Method Details</span></td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
- cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr valign="top"><td>
- <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
- <br /><em class="fname">(Constructor)</em>
- </h3>
- </td><td align="right" valign="top"
- ><span class="codelink"><a href="paramiko.win_pageant-pysrc.html#PageantConnection.__init__">source&nbsp;code</a></span>&nbsp;
- </td>
- </tr></table>
-
- <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
- signature</p>
- <dl class="fields">
- <dt>Overrides:
- object.__init__
- <dd><em class="note">(inherited documentation)</em></dd>
- </dt>
- </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:04 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/redirect.html b/docs/redirect.html
deleted file mode 100644
index c36dbb0..0000000
--- a/docs/redirect.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html><head><title>Epydoc Redirect Page</title>
-<meta http-equiv="cache-control" content="no-cache" />
-<meta http-equiv="expires" content="0" />
-<meta http-equiv="pragma" content="no-cache" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-<!--
-var pages = ["paramiko.ssh_exception.PartialAuthentication-c", "paramiko.win_pageant.PageantConnection-c", "paramiko.buffered_pipe.BufferedPipe-c", "paramiko.PasswordRequiredException-c", "paramiko.buffered_pipe.PipeTimeout-c", "paramiko.channel.ChannelStderrFile-c", "paramiko.compress.ZlibDecompressor-c", "paramiko.packet.NeedRekeyException-c", "paramiko.AuthenticationException-c", "paramiko.compress.ZlibCompressor-c", "paramiko.logging22.StreamHandler-c", "paramiko.BadAuthenticationType-c", "paramiko.hostkeys.HostKeyEntry-c", "paramiko.MissingHostKeyPolicy-c", "paramiko.kex_group1.KexGroup1-c", "paramiko.transport.ChannelMap-c", "paramiko.BadHostKeyException-c", "paramiko.SFTPServerInterface-c", "paramiko.logging22.Formatter-c", "paramiko.primes.ModulusPack-c", "paramiko.ChannelException-c", "paramiko.SubsystemHandler-c", "paramiko.ber.BERException-c", "paramiko.logging22.logger-c", "paramiko.pipe.WindowsPipe-c", "paramiko.SecurityOptions-c", "paramiko.ServerInterface-c", "paramiko.SFTPAttributes-c", "paramiko.kex_gex.KexGex-c", "paramiko.pipe.PosixPipe-c", "paramiko.util.enumerate-c", "paramiko.buffered_pipe-m", "paramiko.ssh_exception-m", "paramiko.AutoAddPolicy-c", "paramiko.WarningPolicy-c", "paramiko.auth_handler-m", "paramiko.BufferedFile-c", "paramiko.RejectPolicy-c", "paramiko.SSHException-c", "paramiko.util.Counter-c", "paramiko.util.PFilter-c", "paramiko.sftp_client-m", "paramiko.sftp_handle-m", "paramiko.sftp_server-m", "paramiko.win_pageant-m", "paramiko.pipe.OrPipe-c", "paramiko.kex_group1-m", "paramiko.SFTPClient-c", "paramiko.SFTPHandle-c", "paramiko.SFTPServer-c", "paramiko.logging22-m", "paramiko.sftp_attr-m", "paramiko.sftp_file-m", "paramiko.transport-m", "paramiko.SFTPError-c", "paramiko.SSHClient-c", "paramiko.SSHConfig-c", "paramiko.Transport-c", "paramiko.compress-m", "paramiko.hostkeys-m", "paramiko.resource-m", "paramiko.AgentKey-c", "paramiko.HostKeys-c", "paramiko.SFTPFile-c", "paramiko.channel-m", "paramiko.kex_gex-m", "paramiko.message-m", "paramiko.sftp_si-m", "paramiko.Channel-c", "paramiko.Message-c", "paramiko.ber.BER-c", "paramiko.client-m", "paramiko.common-m", "paramiko.config-m", "paramiko.dsskey-m", "paramiko.packet-m", "paramiko.primes-m", "paramiko.rsakey-m", "paramiko.server-m", "paramiko.DSSKey-c", "paramiko.RSAKey-c", "paramiko.agent-m", "paramiko.Agent-c", "paramiko.file-m", "paramiko.pipe-m", "paramiko.pkey-m", "paramiko.sftp-m", "paramiko.util-m", "paramiko.PKey-c", "paramiko.SFTP-c", "paramiko.ber-m", "paramiko-m"];
-var dottedName = get_anchor();
-if (dottedName) {
- var target = redirect_url(dottedName);
- if (target) window.location.replace(target);
-}
-// -->
-</script>
-
-<h3>Epydoc Auto-redirect page</h3>
-
-<p>When javascript is enabled, this page will redirect URLs of
-the form <tt>redirect.html#<i>dotted.name</i></tt> to the
-documentation for the object with the given fully-qualified
-dotted name.</p>
-<p><a id="message"> &nbsp; </a></p>
-
-<script type="text/javascript">
-<!--
-if (dottedName) {
- var msg = document.getElementById("message");
- msg.innerHTML = "No documentation found for <tt>"+
- dottedName+"</tt>";
-}
-// -->
-</script>
-
-</body>
-</html>
diff --git a/docs/since-index.html b/docs/since-index.html
deleted file mode 100644
index fc67c2e..0000000
--- a/docs/since-index.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Introductions List</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="100%">&nbsp;</td>
- <td>
- <table cellpadding="0" cellspacing="0">
- <!-- hide/show private -->
- <tr><td align="right"><span class="options"
- >[<a href="frames.html" target="_top">frames</a
- >]&nbsp;|&nbsp;<a href="since-index.html"
- target="_top">no&nbsp;frames</a>]</span></td></tr>
- </table>
- </td>
- </tr>
-</table>
-<center><b>[
- <a href="identifier-index.html">Identifiers</a>
-| <a href="bug-index.html">Bugs</a>
-| <a href="since-index.html">Introductions</a>
-]</b></center><br />
-<h1 class="epydoc"><a name="since">Introductions List</a></h1>
-<br />
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.AuthenticationException-class.html">paramiko.AuthenticationException</a></b> <ul class="nomargin">
- <li>1.6</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.BadAuthenticationType-class.html">paramiko.BadAuthenticationType</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.BadHostKeyException-class.html">paramiko.BadHostKeyException</a></b> <ul class="nomargin">
- <li>1.6</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#exit_status_ready">paramiko.Channel.exit_status_ready</a></b> <ul class="nomargin">
- <li>1.7.3</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#makefile_stderr">paramiko.Channel.makefile_stderr</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#recv_exit_status">paramiko.Channel.recv_exit_status</a></b> <ul class="nomargin">
- <li>1.2</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#recv_stderr">paramiko.Channel.recv_stderr</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#recv_stderr_ready">paramiko.Channel.recv_stderr_ready</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#send_exit_status">paramiko.Channel.send_exit_status</a></b> <ul class="nomargin">
- <li>1.2</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#send_stderr">paramiko.Channel.send_stderr</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#sendall_stderr">paramiko.Channel.sendall_stderr</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#set_combine_stderr">paramiko.Channel.set_combine_stderr</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#shutdown_read">paramiko.Channel.shutdown_read</a></b> <ul class="nomargin">
- <li>1.2</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Channel-class.html#shutdown_write">paramiko.Channel.shutdown_write</a></b> <ul class="nomargin">
- <li>1.2</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.ChannelException-class.html">paramiko.ChannelException</a></b> <ul class="nomargin">
- <li>1.6</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.HostKeys-class.html">paramiko.HostKeys</a></b> <ul class="nomargin">
- <li>1.5.3</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.HostKeys-class.html#save">paramiko.HostKeys.save</a></b> <ul class="nomargin">
- <li>1.6.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#chdir">paramiko.SFTPClient.chdir</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#close">paramiko.SFTPClient.close</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#get">paramiko.SFTPClient.get</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#get_channel">paramiko.SFTPClient.get_channel</a></b> <ul class="nomargin">
- <li>1.7.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#getcwd">paramiko.SFTPClient.getcwd</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#listdir_attr">paramiko.SFTPClient.listdir_attr</a></b> <ul class="nomargin">
- <li>1.2</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPClient-class.html#put">paramiko.SFTPClient.put</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPFile-class.html#check">paramiko.SFTPFile.check</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPFile-class.html#prefetch">paramiko.SFTPFile.prefetch</a></b> <ul class="nomargin">
- <li>1.5.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPFile-class.html#readv">paramiko.SFTPFile.readv</a></b> <ul class="nomargin">
- <li>1.5.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SFTPFile-class.html#set_pipelined">paramiko.SFTPFile.set_pipelined</a></b> <ul class="nomargin">
- <li>1.5</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SSHClient-class.html">paramiko.SSHClient</a></b> <ul class="nomargin">
- <li>1.6</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SSHConfig-class.html">paramiko.SSHConfig</a></b> <ul class="nomargin">
- <li>1.6</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.ServerInterface-class.html#check_channel_exec_request">paramiko.ServerInterface.check_channel_exec_request</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.SubsystemHandler-class.html#finish_subsystem">paramiko.SubsystemHandler.finish_subsystem</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#atfork">paramiko.Transport.atfork</a></b> <ul class="nomargin">
- <li>1.5.3</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#auth_interactive">paramiko.Transport.auth_interactive</a></b> <ul class="nomargin">
- <li>1.5</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#auth_none">paramiko.Transport.auth_none</a></b> <ul class="nomargin">
- <li>1.5</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#get_exception">paramiko.Transport.get_exception</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#get_hexdump">paramiko.Transport.get_hexdump</a></b> <ul class="nomargin">
- <li>1.4</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#get_log_channel">paramiko.Transport.get_log_channel</a></b> <ul class="nomargin">
- <li>1.2</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#set_log_channel">paramiko.Transport.set_log_channel</a></b> <ul class="nomargin">
- <li>1.1</li>
- </ul>
-</table></div>
-<div>
-<table width="100%" class="metadata-index" bgcolor="#e0e0e0"><tr><td class="metadata-index"><b>Introductions in <a href="paramiko.Transport-class.html#use_compression">paramiko.Transport.use_compression</a></b> <ul class="nomargin">
- <li>1.5.2</li>
- </ul>
-</table></div>
-<br /><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
- bgcolor="#a0c0ff" cellspacing="0">
- <tr valign="middle">
- <!-- Home link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Tree link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Index link -->
- <th bgcolor="#70b0f0" class="navbar-select"
- >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
-
- <!-- Help link -->
- <th>&nbsp;&nbsp;&nbsp;<a
- href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
- <th class="navbar" width="100%"></th>
- </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
- <tr>
- <td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Mon May 23 13:50:01 2011
- </td>
- <td align="right" class="footer">
- <a target="mainFrame" href="http://epydoc.sourceforge.net"
- >http://epydoc.sourceforge.net</a>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-everything.html b/docs/toc-everything.html
deleted file mode 100644
index 725301a..0000000
--- a/docs/toc-everything.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Everything</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Everything</h1>
-<hr />
- <h2 class="toc">All Classes</h2>
- <a target="mainFrame" href="paramiko.Agent-class.html"
- >paramiko.Agent</a><br /> <a target="mainFrame" href="paramiko.AgentKey-class.html"
- >paramiko.AgentKey</a><br /> <a target="mainFrame" href="paramiko.AuthenticationException-class.html"
- >paramiko.AuthenticationException</a><br /> <a target="mainFrame" href="paramiko.AutoAddPolicy-class.html"
- >paramiko.AutoAddPolicy</a><br /> <a target="mainFrame" href="paramiko.BadAuthenticationType-class.html"
- >paramiko.BadAuthenticationType</a><br /> <a target="mainFrame" href="paramiko.BadHostKeyException-class.html"
- >paramiko.BadHostKeyException</a><br /> <a target="mainFrame" href="paramiko.BufferedFile-class.html"
- >paramiko.BufferedFile</a><br /> <a target="mainFrame" href="paramiko.Channel-class.html"
- >paramiko.Channel</a><br /> <a target="mainFrame" href="paramiko.ChannelException-class.html"
- >paramiko.ChannelException</a><br /> <a target="mainFrame" href="paramiko.DSSKey-class.html"
- >paramiko.DSSKey</a><br /> <a target="mainFrame" href="paramiko.HostKeys-class.html"
- >paramiko.HostKeys</a><br /> <a target="mainFrame" href="paramiko.Message-class.html"
- >paramiko.Message</a><br /> <a target="mainFrame" href="paramiko.MissingHostKeyPolicy-class.html"
- >paramiko.MissingHostKeyPolicy</a><br /> <a target="mainFrame" href="paramiko.PKey-class.html"
- >paramiko.PKey</a><br /> <a target="mainFrame" href="paramiko.PasswordRequiredException-class.html"
- >paramiko.PasswordRequiredException</a><br /> <a target="mainFrame" href="paramiko.RSAKey-class.html"
- >paramiko.RSAKey</a><br /> <a target="mainFrame" href="paramiko.RejectPolicy-class.html"
- >paramiko.RejectPolicy</a><br /> <a target="mainFrame" href="paramiko.SFTP-class.html"
- >paramiko.SFTP</a><br /> <a target="mainFrame" href="paramiko.SFTPAttributes-class.html"
- >paramiko.SFTPAttributes</a><br /> <a target="mainFrame" href="paramiko.SFTPClient-class.html"
- >paramiko.SFTPClient</a><br /> <a target="mainFrame" href="paramiko.SFTPError-class.html"
- >paramiko.SFTPError</a><br /> <a target="mainFrame" href="paramiko.SFTPFile-class.html"
- >paramiko.SFTPFile</a><br /> <a target="mainFrame" href="paramiko.SFTPHandle-class.html"
- >paramiko.SFTPHandle</a><br /> <a target="mainFrame" href="paramiko.SFTPServer-class.html"
- >paramiko.SFTPServer</a><br /> <a target="mainFrame" href="paramiko.SFTPServerInterface-class.html"
- >paramiko.SFTPServerInterface</a><br /> <a target="mainFrame" href="paramiko.SSHClient-class.html"
- >paramiko.SSHClient</a><br /> <a target="mainFrame" href="paramiko.SSHConfig-class.html"
- >paramiko.SSHConfig</a><br /> <a target="mainFrame" href="paramiko.SSHException-class.html"
- >paramiko.SSHException</a><br /> <a target="mainFrame" href="paramiko.SecurityOptions-class.html"
- >paramiko.SecurityOptions</a><br /> <a target="mainFrame" href="paramiko.ServerInterface-class.html"
- >paramiko.ServerInterface</a><br /> <a target="mainFrame" href="paramiko.SubsystemHandler-class.html"
- >paramiko.SubsystemHandler</a><br /> <a target="mainFrame" href="paramiko.Transport-class.html"
- >paramiko.Transport</a><br /> <a target="mainFrame" href="paramiko.WarningPolicy-class.html"
- >paramiko.WarningPolicy</a><br /> <a target="mainFrame" href="paramiko.logging22.Formatter-class.html"
- >paramiko.logging22.Formatter</a><br /> <a target="mainFrame" href="paramiko.logging22.StreamHandler-class.html"
- >paramiko.logging22.StreamHandler</a><br /> <a target="mainFrame" href="paramiko.logging22.logger-class.html"
- >paramiko.logging22.logger</a><br /> <a target="mainFrame" href="paramiko.util.Counter-class.html"
- >paramiko.util.Counter</a><br /> <a target="mainFrame" href="paramiko.util.PFilter-class.html"
- >paramiko.util.PFilter</a><br /> <a target="mainFrame" href="paramiko.util.enumerate-class.html"
- >paramiko.util.enumerate</a><br /> <a target="mainFrame" href="paramiko.win_pageant.PageantConnection-class.html"
- >paramiko.win_pageant.PageantConnection</a><br /> <h2 class="toc">All Functions</h2>
- <a target="mainFrame" href="paramiko.logging22-module.html#getLogger"
- >paramiko.logging22.getLogger</a><br /> <a target="mainFrame" href="paramiko.util-module.html#bit_length"
- >paramiko.util.bit_length</a><br /> <a target="mainFrame" href="paramiko.util-module.html#deflate_long"
- >paramiko.util.deflate_long</a><br /> <a target="mainFrame" href="paramiko.util-module.html#format_binary"
- >paramiko.util.format_binary</a><br /> <a target="mainFrame" href="paramiko.util-module.html#format_binary_line"
- >paramiko.util.format_binary_line</a><br /> <a target="mainFrame" href="paramiko.util-module.html#format_binary_weird"
- >paramiko.util.format_binary_weird</a><br /> <a target="mainFrame" href="paramiko.util-module.html#generate_key_bytes"
- >paramiko.util.generate_key_bytes</a><br /> <a target="mainFrame" href="paramiko.util-module.html#get_logger"
- >paramiko.util.get_logger</a><br /> <a target="mainFrame" href="paramiko.util-module.html#get_thread_id"
- >paramiko.util.get_thread_id</a><br /> <a target="mainFrame" href="paramiko.util-module.html#hexify"
- >paramiko.util.hexify</a><br /> <a target="mainFrame" href="paramiko.util-module.html#inflate_long"
- >paramiko.util.inflate_long</a><br /> <a target="mainFrame" href="paramiko.util-module.html#load_host_keys"
- >paramiko.util.load_host_keys</a><br /> <a target="mainFrame" href="paramiko.util-module.html#log_to_file"
- >paramiko.util.log_to_file</a><br /> <a target="mainFrame" href="paramiko.util-module.html#lookup_ssh_host_config"
- >paramiko.util.lookup_ssh_host_config</a><br /> <a target="mainFrame" href="paramiko.util-module.html#mod_inverse"
- >paramiko.util.mod_inverse</a><br /> <a target="mainFrame" href="paramiko.util-module.html#parse_ssh_config"
- >paramiko.util.parse_ssh_config</a><br /> <a target="mainFrame" href="paramiko.util-module.html#safe_string"
- >paramiko.util.safe_string</a><br /> <a target="mainFrame" href="paramiko.util-module.html#tb_strings"
- >paramiko.util.tb_strings</a><br /> <a target="mainFrame" href="paramiko.util-module.html#unhexify"
- >paramiko.util.unhexify</a><br /> <a target="mainFrame" href="paramiko.win_pageant-module.html#can_talk_to_agent"
- >paramiko.win_pageant.can_talk_to_agent</a><br /> <h2 class="toc">All Variables</h2>
- <a target="mainFrame" href="paramiko.logging22-module.html#CRITICAL"
- >paramiko.logging22.CRITICAL</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#DEBUG"
- >paramiko.logging22.DEBUG</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#ERROR"
- >paramiko.logging22.ERROR</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#INFO"
- >paramiko.logging22.INFO</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#WARNING"
- >paramiko.logging22.WARNING</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#__package__"
- >paramiko.logging22.__package__</a><br /> <a target="mainFrame" href="paramiko.util-module.html#AUTH_FAILED"
- >paramiko.util.AUTH_FAILED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL"
- >paramiko.util.AUTH_PARTIALLY_SUCCESSFUL</a><br /> <a target="mainFrame" href="paramiko.util-module.html#AUTH_SUCCESSFUL"
- >paramiko.util.AUTH_SUCCESSFUL</a><br /> <a target="mainFrame" href="paramiko.util-module.html#CONNECTION_FAILED_CODE"
- >paramiko.util.CONNECTION_FAILED_CODE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#CRITICAL"
- >paramiko.util.CRITICAL</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DEBUG"
- >paramiko.util.DEBUG</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER"
- >paramiko.util.DISCONNECT_AUTH_CANCELLED_BY_USER</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"
- >paramiko.util.DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE"
- >paramiko.util.DISCONNECT_SERVICE_NOT_AVAILABLE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#ERROR"
- >paramiko.util.ERROR</a><br /> <a target="mainFrame" href="paramiko.util-module.html#INFO"
- >paramiko.util.INFO</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_CLOSE"
- >paramiko.util.MSG_CHANNEL_CLOSE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_DATA"
- >paramiko.util.MSG_CHANNEL_DATA</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_EOF"
- >paramiko.util.MSG_CHANNEL_EOF</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA"
- >paramiko.util.MSG_CHANNEL_EXTENDED_DATA</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_FAILURE"
- >paramiko.util.MSG_CHANNEL_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_OPEN"
- >paramiko.util.MSG_CHANNEL_OPEN</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_OPEN_FAILURE"
- >paramiko.util.MSG_CHANNEL_OPEN_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_OPEN_SUCCESS"
- >paramiko.util.MSG_CHANNEL_OPEN_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_REQUEST"
- >paramiko.util.MSG_CHANNEL_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_SUCCESS"
- >paramiko.util.MSG_CHANNEL_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST"
- >paramiko.util.MSG_CHANNEL_WINDOW_ADJUST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_DEBUG"
- >paramiko.util.MSG_DEBUG</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_DISCONNECT"
- >paramiko.util.MSG_DISCONNECT</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_GLOBAL_REQUEST"
- >paramiko.util.MSG_GLOBAL_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_IGNORE"
- >paramiko.util.MSG_IGNORE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_KEXINIT"
- >paramiko.util.MSG_KEXINIT</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_NAMES"
- >paramiko.util.MSG_NAMES</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_NEWKEYS"
- >paramiko.util.MSG_NEWKEYS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_REQUEST_FAILURE"
- >paramiko.util.MSG_REQUEST_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_REQUEST_SUCCESS"
- >paramiko.util.MSG_REQUEST_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_SERVICE_ACCEPT"
- >paramiko.util.MSG_SERVICE_ACCEPT</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_SERVICE_REQUEST"
- >paramiko.util.MSG_SERVICE_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_UNIMPLEMENTED"
- >paramiko.util.MSG_UNIMPLEMENTED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_BANNER"
- >paramiko.util.MSG_USERAUTH_BANNER</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_FAILURE"
- >paramiko.util.MSG_USERAUTH_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_INFO_REQUEST"
- >paramiko.util.MSG_USERAUTH_INFO_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_INFO_RESPONSE"
- >paramiko.util.MSG_USERAUTH_INFO_RESPONSE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_PK_OK"
- >paramiko.util.MSG_USERAUTH_PK_OK</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_REQUEST"
- >paramiko.util.MSG_USERAUTH_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_SUCCESS"
- >paramiko.util.MSG_USERAUTH_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"
- >paramiko.util.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_CONNECT_FAILED"
- >paramiko.util.OPEN_FAILED_CONNECT_FAILED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_RESOURCE_SHORTAGE"
- >paramiko.util.OPEN_FAILED_RESOURCE_SHORTAGE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"
- >paramiko.util.OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_SUCCEEDED"
- >paramiko.util.OPEN_SUCCEEDED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#PY22"
- >paramiko.util.PY22</a><br /> <a target="mainFrame" href="paramiko.util-module.html#WARNING"
- >paramiko.util.WARNING</a><br /> <a target="mainFrame" href="paramiko.util-module.html#__package__"
- >paramiko.util.__package__</a><br /> <a target="mainFrame" href="paramiko.util-module.html#rng"
- >paramiko.util.rng</a><br /> <a target="mainFrame" href="paramiko.win_pageant-module.html#__package__"
- >paramiko.win_pageant.__package__</a><br /> <a target="mainFrame" href="paramiko.win_pageant-module.html#win32con_WM_COPYDATA"
- >paramiko.win_pageant.win32con_WM_COPYDATA</a><br /><hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko-module.html b/docs/toc-paramiko-module.html
deleted file mode 100644
index f6b2876..0000000
--- a/docs/toc-paramiko-module.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>paramiko</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module paramiko</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <a target="mainFrame" href="paramiko.Agent-class.html"
- >Agent</a><br /> <a target="mainFrame" href="paramiko.AgentKey-class.html"
- >AgentKey</a><br /> <a target="mainFrame" href="paramiko.AuthenticationException-class.html"
- >AuthenticationException</a><br /> <a target="mainFrame" href="paramiko.AutoAddPolicy-class.html"
- >AutoAddPolicy</a><br /> <a target="mainFrame" href="paramiko.BadAuthenticationType-class.html"
- >BadAuthenticationType</a><br /> <a target="mainFrame" href="paramiko.BadHostKeyException-class.html"
- >BadHostKeyException</a><br /> <a target="mainFrame" href="paramiko.BufferedFile-class.html"
- >BufferedFile</a><br /> <a target="mainFrame" href="paramiko.Channel-class.html"
- >Channel</a><br /> <a target="mainFrame" href="paramiko.ChannelException-class.html"
- >ChannelException</a><br /> <a target="mainFrame" href="paramiko.DSSKey-class.html"
- >DSSKey</a><br /> <a target="mainFrame" href="paramiko.HostKeys-class.html"
- >HostKeys</a><br /> <a target="mainFrame" href="paramiko.Message-class.html"
- >Message</a><br /> <a target="mainFrame" href="paramiko.MissingHostKeyPolicy-class.html"
- >MissingHostKeyPolicy</a><br /> <a target="mainFrame" href="paramiko.PKey-class.html"
- >PKey</a><br /> <a target="mainFrame" href="paramiko.PasswordRequiredException-class.html"
- >PasswordRequiredException</a><br /> <a target="mainFrame" href="paramiko.RSAKey-class.html"
- >RSAKey</a><br /> <a target="mainFrame" href="paramiko.RejectPolicy-class.html"
- >RejectPolicy</a><br /> <a target="mainFrame" href="paramiko.SFTP-class.html"
- >SFTP</a><br /> <a target="mainFrame" href="paramiko.SFTPAttributes-class.html"
- >SFTPAttributes</a><br /> <a target="mainFrame" href="paramiko.SFTPClient-class.html"
- >SFTPClient</a><br /> <a target="mainFrame" href="paramiko.SFTPError-class.html"
- >SFTPError</a><br /> <a target="mainFrame" href="paramiko.SFTPFile-class.html"
- >SFTPFile</a><br /> <a target="mainFrame" href="paramiko.SFTPHandle-class.html"
- >SFTPHandle</a><br /> <a target="mainFrame" href="paramiko.SFTPServer-class.html"
- >SFTPServer</a><br /> <a target="mainFrame" href="paramiko.SFTPServerInterface-class.html"
- >SFTPServerInterface</a><br /> <a target="mainFrame" href="paramiko.SSHClient-class.html"
- >SSHClient</a><br /> <a target="mainFrame" href="paramiko.SSHConfig-class.html"
- >SSHConfig</a><br /> <a target="mainFrame" href="paramiko.SSHException-class.html"
- >SSHException</a><br /> <a target="mainFrame" href="paramiko.SecurityOptions-class.html"
- >SecurityOptions</a><br /> <a target="mainFrame" href="paramiko.ServerInterface-class.html"
- >ServerInterface</a><br /> <a target="mainFrame" href="paramiko.SubsystemHandler-class.html"
- >SubsystemHandler</a><br /> <a target="mainFrame" href="paramiko.Transport-class.html"
- >Transport</a><br /> <a target="mainFrame" href="paramiko.WarningPolicy-class.html"
- >WarningPolicy</a><br /><hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.agent-module.html b/docs/toc-paramiko.agent-module.html
deleted file mode 100644
index 5de5e79..0000000
--- a/docs/toc-paramiko.agent-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>agent</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module agent</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.auth_handler-module.html b/docs/toc-paramiko.auth_handler-module.html
deleted file mode 100644
index 7fa221d..0000000
--- a/docs/toc-paramiko.auth_handler-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>auth_handler</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module auth_handler</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.ber-module.html b/docs/toc-paramiko.ber-module.html
deleted file mode 100644
index 7190335..0000000
--- a/docs/toc-paramiko.ber-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>ber</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module ber</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.buffered_pipe-module.html b/docs/toc-paramiko.buffered_pipe-module.html
deleted file mode 100644
index 338589e..0000000
--- a/docs/toc-paramiko.buffered_pipe-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>buffered_pipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module buffered_pipe</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.channel-module.html b/docs/toc-paramiko.channel-module.html
deleted file mode 100644
index 7eaaa97..0000000
--- a/docs/toc-paramiko.channel-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>channel</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module channel</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.client-module.html b/docs/toc-paramiko.client-module.html
deleted file mode 100644
index 577541e..0000000
--- a/docs/toc-paramiko.client-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>client</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module client</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.common-module.html b/docs/toc-paramiko.common-module.html
deleted file mode 100644
index 0d0a848..0000000
--- a/docs/toc-paramiko.common-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>common</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module common</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.compress-module.html b/docs/toc-paramiko.compress-module.html
deleted file mode 100644
index b4243ab..0000000
--- a/docs/toc-paramiko.compress-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>compress</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module compress</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.config-module.html b/docs/toc-paramiko.config-module.html
deleted file mode 100644
index fab1f11..0000000
--- a/docs/toc-paramiko.config-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>config</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module config</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.dsskey-module.html b/docs/toc-paramiko.dsskey-module.html
deleted file mode 100644
index 6e0de13..0000000
--- a/docs/toc-paramiko.dsskey-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>dsskey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module dsskey</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.file-module.html b/docs/toc-paramiko.file-module.html
deleted file mode 100644
index bb4f7e9..0000000
--- a/docs/toc-paramiko.file-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>file</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module file</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.hostkeys-module.html b/docs/toc-paramiko.hostkeys-module.html
deleted file mode 100644
index d7b93dd..0000000
--- a/docs/toc-paramiko.hostkeys-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>hostkeys</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module hostkeys</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.kex_gex-module.html b/docs/toc-paramiko.kex_gex-module.html
deleted file mode 100644
index 6f341ae..0000000
--- a/docs/toc-paramiko.kex_gex-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>kex_gex</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module kex_gex</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.kex_group1-module.html b/docs/toc-paramiko.kex_group1-module.html
deleted file mode 100644
index 75e12ba..0000000
--- a/docs/toc-paramiko.kex_group1-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>kex_group1</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module kex_group1</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.logging22-module.html b/docs/toc-paramiko.logging22-module.html
deleted file mode 100644
index df6f73f..0000000
--- a/docs/toc-paramiko.logging22-module.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>logging22</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module logging22</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <a target="mainFrame" href="paramiko.logging22.Formatter-class.html"
- >Formatter</a><br /> <a target="mainFrame" href="paramiko.logging22.StreamHandler-class.html"
- >StreamHandler</a><br /> <a target="mainFrame" href="paramiko.logging22.logger-class.html"
- >logger</a><br /> <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="paramiko.logging22-module.html#getLogger"
- >getLogger</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="paramiko.logging22-module.html#CRITICAL"
- >CRITICAL</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#DEBUG"
- >DEBUG</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#ERROR"
- >ERROR</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#INFO"
- >INFO</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#WARNING"
- >WARNING</a><br /> <a target="mainFrame" href="paramiko.logging22-module.html#__package__"
- >__package__</a><br /><hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.message-module.html b/docs/toc-paramiko.message-module.html
deleted file mode 100644
index 14c9b27..0000000
--- a/docs/toc-paramiko.message-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>message</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module message</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.packet-module.html b/docs/toc-paramiko.packet-module.html
deleted file mode 100644
index d269a9a..0000000
--- a/docs/toc-paramiko.packet-module.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>packet</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module packet</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Functions</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.pipe-module.html b/docs/toc-paramiko.pipe-module.html
deleted file mode 100644
index fc5da49..0000000
--- a/docs/toc-paramiko.pipe-module.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>pipe</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module pipe</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Functions</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.pkey-module.html b/docs/toc-paramiko.pkey-module.html
deleted file mode 100644
index af555cb..0000000
--- a/docs/toc-paramiko.pkey-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>pkey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module pkey</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.primes-module.html b/docs/toc-paramiko.primes-module.html
deleted file mode 100644
index ae93b5c..0000000
--- a/docs/toc-paramiko.primes-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>primes</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module primes</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.resource-module.html b/docs/toc-paramiko.resource-module.html
deleted file mode 100644
index 7e44df7..0000000
--- a/docs/toc-paramiko.resource-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>resource</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module resource</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.rsakey-module.html b/docs/toc-paramiko.rsakey-module.html
deleted file mode 100644
index 6f90edc..0000000
--- a/docs/toc-paramiko.rsakey-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>rsakey</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module rsakey</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.server-module.html b/docs/toc-paramiko.server-module.html
deleted file mode 100644
index 3fa9fa0..0000000
--- a/docs/toc-paramiko.server-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>server</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module server</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp-module.html b/docs/toc-paramiko.sftp-module.html
deleted file mode 100644
index a6f8f10..0000000
--- a/docs/toc-paramiko.sftp-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp_attr-module.html b/docs/toc-paramiko.sftp_attr-module.html
deleted file mode 100644
index ea808a9..0000000
--- a/docs/toc-paramiko.sftp_attr-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp_attr</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp_attr</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp_client-module.html b/docs/toc-paramiko.sftp_client-module.html
deleted file mode 100644
index 5bf3a67..0000000
--- a/docs/toc-paramiko.sftp_client-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp_client</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp_client</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp_file-module.html b/docs/toc-paramiko.sftp_file-module.html
deleted file mode 100644
index c2e2578..0000000
--- a/docs/toc-paramiko.sftp_file-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp_file</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp_file</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp_handle-module.html b/docs/toc-paramiko.sftp_handle-module.html
deleted file mode 100644
index 2b658fe..0000000
--- a/docs/toc-paramiko.sftp_handle-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp_handle</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp_handle</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp_server-module.html b/docs/toc-paramiko.sftp_server-module.html
deleted file mode 100644
index f4020a8..0000000
--- a/docs/toc-paramiko.sftp_server-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp_server</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp_server</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.sftp_si-module.html b/docs/toc-paramiko.sftp_si-module.html
deleted file mode 100644
index ef768fe..0000000
--- a/docs/toc-paramiko.sftp_si-module.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>sftp_si</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module sftp_si</h1>
-<hr />
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.ssh_exception-module.html b/docs/toc-paramiko.ssh_exception-module.html
deleted file mode 100644
index 90172f1..0000000
--- a/docs/toc-paramiko.ssh_exception-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>ssh_exception</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module ssh_exception</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.transport-module.html b/docs/toc-paramiko.transport-module.html
deleted file mode 100644
index f22c4ce..0000000
--- a/docs/toc-paramiko.transport-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>transport</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module transport</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <h2 class="toc">Variables</h2>
-<hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.util-module.html b/docs/toc-paramiko.util-module.html
deleted file mode 100644
index 2d9944f..0000000
--- a/docs/toc-paramiko.util-module.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>util</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module util</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <a target="mainFrame" href="paramiko.util.Counter-class.html"
- >Counter</a><br /> <a target="mainFrame" href="paramiko.util.PFilter-class.html"
- >PFilter</a><br /> <a target="mainFrame" href="paramiko.util.enumerate-class.html"
- >enumerate</a><br /> <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="paramiko.util-module.html#bit_length"
- >bit_length</a><br /> <a target="mainFrame" href="paramiko.util-module.html#deflate_long"
- >deflate_long</a><br /> <a target="mainFrame" href="paramiko.util-module.html#format_binary"
- >format_binary</a><br /> <a target="mainFrame" href="paramiko.util-module.html#format_binary_line"
- >format_binary_line</a><br /> <a target="mainFrame" href="paramiko.util-module.html#format_binary_weird"
- >format_binary_weird</a><br /> <a target="mainFrame" href="paramiko.util-module.html#generate_key_bytes"
- >generate_key_bytes</a><br /> <a target="mainFrame" href="paramiko.util-module.html#get_logger"
- >get_logger</a><br /> <a target="mainFrame" href="paramiko.util-module.html#get_thread_id"
- >get_thread_id</a><br /> <a target="mainFrame" href="paramiko.util-module.html#hexify"
- >hexify</a><br /> <a target="mainFrame" href="paramiko.util-module.html#inflate_long"
- >inflate_long</a><br /> <a target="mainFrame" href="paramiko.util-module.html#load_host_keys"
- >load_host_keys</a><br /> <a target="mainFrame" href="paramiko.util-module.html#log_to_file"
- >log_to_file</a><br /> <a target="mainFrame" href="paramiko.util-module.html#lookup_ssh_host_config"
- >lookup_ssh_host_config</a><br /> <a target="mainFrame" href="paramiko.util-module.html#mod_inverse"
- >mod_inverse</a><br /> <a target="mainFrame" href="paramiko.util-module.html#parse_ssh_config"
- >parse_ssh_config</a><br /> <a target="mainFrame" href="paramiko.util-module.html#safe_string"
- >safe_string</a><br /> <a target="mainFrame" href="paramiko.util-module.html#tb_strings"
- >tb_strings</a><br /> <a target="mainFrame" href="paramiko.util-module.html#unhexify"
- >unhexify</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="paramiko.util-module.html#AUTH_FAILED"
- >AUTH_FAILED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#AUTH_PARTIALLY_SUCCESSFUL"
- >AUTH_PARTIALLY_SUCCESSFUL</a><br /> <a target="mainFrame" href="paramiko.util-module.html#AUTH_SUCCESSFUL"
- >AUTH_SUCCESSFUL</a><br /> <a target="mainFrame" href="paramiko.util-module.html#CONNECTION_FAILED_CODE"
- >CONNECTION_FAILED_CODE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#CRITICAL"
- >CRITICAL</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DEBUG"
- >DEBUG</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DISCONNECT_AUTH_CANCELLED_BY_USER"
- >DISCONNECT_AUTH_CANCELLED_BY_USER</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"
- >DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#DISCONNECT_SERVICE_NOT_AVAILABLE"
- >DISCONNECT_SERVICE_NOT_AVAILABLE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#ERROR"
- >ERROR</a><br /> <a target="mainFrame" href="paramiko.util-module.html#INFO"
- >INFO</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_CLOSE"
- >MSG_CHANNEL_CLOSE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_DATA"
- >MSG_CHANNEL_DATA</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_EOF"
- >MSG_CHANNEL_EOF</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_EXTENDED_DATA"
- >MSG_CHANNEL_EXTENDED_DATA</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_FAILURE"
- >MSG_CHANNEL_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_OPEN"
- >MSG_CHANNEL_OPEN</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_OPEN_FAILURE"
- >MSG_CHANNEL_OPEN_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_OPEN_SUCCESS"
- >MSG_CHANNEL_OPEN_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_REQUEST"
- >MSG_CHANNEL_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_SUCCESS"
- >MSG_CHANNEL_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_CHANNEL_WINDOW_ADJUST"
- >MSG_CHANNEL_WINDOW_ADJUST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_DEBUG"
- >MSG_DEBUG</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_DISCONNECT"
- >MSG_DISCONNECT</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_GLOBAL_REQUEST"
- >MSG_GLOBAL_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_IGNORE"
- >MSG_IGNORE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_KEXINIT"
- >MSG_KEXINIT</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_NAMES"
- >MSG_NAMES</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_NEWKEYS"
- >MSG_NEWKEYS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_REQUEST_FAILURE"
- >MSG_REQUEST_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_REQUEST_SUCCESS"
- >MSG_REQUEST_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_SERVICE_ACCEPT"
- >MSG_SERVICE_ACCEPT</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_SERVICE_REQUEST"
- >MSG_SERVICE_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_UNIMPLEMENTED"
- >MSG_UNIMPLEMENTED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_BANNER"
- >MSG_USERAUTH_BANNER</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_FAILURE"
- >MSG_USERAUTH_FAILURE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_INFO_REQUEST"
- >MSG_USERAUTH_INFO_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_INFO_RESPONSE"
- >MSG_USERAUTH_INFO_RESPONSE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_PK_OK"
- >MSG_USERAUTH_PK_OK</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_REQUEST"
- >MSG_USERAUTH_REQUEST</a><br /> <a target="mainFrame" href="paramiko.util-module.html#MSG_USERAUTH_SUCCESS"
- >MSG_USERAUTH_SUCCESS</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"
- >OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_CONNECT_FAILED"
- >OPEN_FAILED_CONNECT_FAILED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_RESOURCE_SHORTAGE"
- >OPEN_FAILED_RESOURCE_SHORTAGE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"
- >OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</a><br /> <a target="mainFrame" href="paramiko.util-module.html#OPEN_SUCCEEDED"
- >OPEN_SUCCEEDED</a><br /> <a target="mainFrame" href="paramiko.util-module.html#PY22"
- >PY22</a><br /> <a target="mainFrame" href="paramiko.util-module.html#WARNING"
- >WARNING</a><br /> <a target="mainFrame" href="paramiko.util-module.html#__package__"
- >__package__</a><br /> <a target="mainFrame" href="paramiko.util-module.html#rng"
- >rng</a><br /><hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc-paramiko.win_pageant-module.html b/docs/toc-paramiko.win_pageant-module.html
deleted file mode 100644
index 51065be..0000000
--- a/docs/toc-paramiko.win_pageant-module.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>win_pageant</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Module win_pageant</h1>
-<hr />
- <h2 class="toc">Classes</h2>
- <a target="mainFrame" href="paramiko.win_pageant.PageantConnection-class.html"
- >PageantConnection</a><br /> <h2 class="toc">Functions</h2>
- <a target="mainFrame" href="paramiko.win_pageant-module.html#can_talk_to_agent"
- >can_talk_to_agent</a><br /> <h2 class="toc">Variables</h2>
- <a target="mainFrame" href="paramiko.win_pageant-module.html#__package__"
- >__package__</a><br /> <a target="mainFrame" href="paramiko.win_pageant-module.html#win32con_WM_COPYDATA"
- >win32con_WM_COPYDATA</a><br /><hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/docs/toc.html b/docs/toc.html
deleted file mode 100644
index c6a5579..0000000
--- a/docs/toc.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Table of Contents</title>
- <link rel="stylesheet" href="epydoc.css" type="text/css" />
- <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
- alink="#204080">
-<h1 class="toc">Table&nbsp;of&nbsp;Contents</h1>
-<hr />
- <a target="moduleFrame" href="toc-everything.html">Everything</a>
- <br />
- <h2 class="toc">Modules</h2>
- <a target="moduleFrame" href="toc-paramiko-module.html"
- onclick="setFrame('toc-paramiko-module.html','paramiko-module.html');" >paramiko</a><br /> <a target="moduleFrame" href="toc-paramiko.logging22-module.html"
- onclick="setFrame('toc-paramiko.logging22-module.html','paramiko.logging22-module.html');" >paramiko.logging22</a><br /> <a target="moduleFrame" href="toc-paramiko.util-module.html"
- onclick="setFrame('toc-paramiko.util-module.html','paramiko.util-module.html');" >paramiko.util</a><br /> <a target="moduleFrame" href="toc-paramiko.win_pageant-module.html"
- onclick="setFrame('toc-paramiko.win_pageant-module.html','paramiko.win_pageant-module.html');" >paramiko.win_pageant</a><br /><hr />
-
-<script type="text/javascript">
- <!--
- // Private objects are initially displayed (because if
- // javascript is turned off then we want them to be
- // visible); but by default, we want to hide them. So hide
- // them unless we have a cookie that says to show them.
- checkCookie();
- // -->
-</script>
-</body>
-</html>
diff --git a/fabfile.py b/fabfile.py
new file mode 100644
index 0000000..29394f9
--- /dev/null
+++ b/fabfile.py
@@ -0,0 +1,13 @@
+from fabric.api import task, sudo, env
+from fabric.contrib.project import rsync_project
+
+
+@task
+def upload_docs():
+ target = "/var/www/paramiko.org"
+ staging = "/tmp/paramiko_docs"
+ sudo("mkdir -p %s" % staging)
+ sudo("chown -R %s %s" % (env.user, staging))
+ sudo("rm -rf %s/*" % target)
+ rsync_project(local_dir='docs/', remote_dir=staging, delete=True)
+ sudo("cp -R %s/* %s/" % (staging, target))
diff --git a/images/paramiko-banner.png b/images/paramiko-banner.png
new file mode 100644
index 0000000..e69fbc6
--- /dev/null
+++ b/images/paramiko-banner.png
Binary files differ
diff --git a/images/paramiko-banner.psd b/images/paramiko-banner.psd
new file mode 100644
index 0000000..20ebbc8
--- /dev/null
+++ b/images/paramiko-banner.psd
Binary files differ
diff --git a/images/paramiko.png b/images/paramiko.png
new file mode 100644
index 0000000..c488e2e
--- /dev/null
+++ b/images/paramiko.png
Binary files differ
diff --git a/paramiko.egg-info/PKG-INFO b/paramiko.egg-info/PKG-INFO
deleted file mode 100644
index 319f1c5..0000000
--- a/paramiko.egg-info/PKG-INFO
+++ /dev/null
@@ -1,24 +0,0 @@
-Metadata-Version: 1.0
-Name: paramiko
-Version: 1.7.7.1
-Summary: SSH2 protocol library
-Home-page: http://www.lag.net/paramiko/
-Author: Robey Pointer
-Author-email: robeypointer@gmail.com
-License: LGPL
-Description:
- This is a library for making SSH2 connections (client or server).
- Emphasis is on using SSH2 as an alternative to SSL for making secure
- connections between python scripts. All major ciphers and hash methods
- are supported. SFTP client and server mode are both supported too.
-
- Required packages:
- pyCrypto
-
-Platform: Posix; MacOS X; Windows
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
-Classifier: Operating System :: OS Independent
-Classifier: Topic :: Internet
-Classifier: Topic :: Security :: Cryptography
diff --git a/paramiko.egg-info/SOURCES.txt b/paramiko.egg-info/SOURCES.txt
deleted file mode 100644
index 1e53204..0000000
--- a/paramiko.egg-info/SOURCES.txt
+++ /dev/null
@@ -1,252 +0,0 @@
-LICENSE
-MANIFEST.in
-README
-setup.py
-setup_helper.py
-test.py
-demos/demo.py
-demos/demo_server.py
-demos/demo_sftp.py
-demos/demo_simple.py
-demos/forward.py
-demos/interactive.py
-demos/rforward.py
-demos/test_rsa.key
-demos/user_rsa_key
-demos/user_rsa_key.pub
-docs/api-objects.txt
-docs/bug-index.html
-docs/class-tree.html
-docs/crarr.png
-docs/epydoc.css
-docs/epydoc.js
-docs/frames.html
-docs/help.html
-docs/identifier-index.html
-docs/index.html
-docs/module-tree.html
-docs/paramiko-module.html
-docs/paramiko-pysrc.html
-docs/paramiko.Agent-class.html
-docs/paramiko.AgentKey-class.html
-docs/paramiko.AuthenticationException-class.html
-docs/paramiko.AutoAddPolicy-class.html
-docs/paramiko.BadAuthenticationType-class.html
-docs/paramiko.BadHostKeyException-class.html
-docs/paramiko.BufferedFile-class.html
-docs/paramiko.Channel-class.html
-docs/paramiko.ChannelException-class.html
-docs/paramiko.DSSKey-class.html
-docs/paramiko.HostKeys-class.html
-docs/paramiko.Message-class.html
-docs/paramiko.MissingHostKeyPolicy-class.html
-docs/paramiko.PKey-class.html
-docs/paramiko.PasswordRequiredException-class.html
-docs/paramiko.RSAKey-class.html
-docs/paramiko.RejectPolicy-class.html
-docs/paramiko.SFTP-class.html
-docs/paramiko.SFTPAttributes-class.html
-docs/paramiko.SFTPClient-class.html
-docs/paramiko.SFTPError-class.html
-docs/paramiko.SFTPFile-class.html
-docs/paramiko.SFTPHandle-class.html
-docs/paramiko.SFTPServer-class.html
-docs/paramiko.SFTPServerInterface-class.html
-docs/paramiko.SSHClient-class.html
-docs/paramiko.SSHConfig-class.html
-docs/paramiko.SSHException-class.html
-docs/paramiko.SecurityOptions-class.html
-docs/paramiko.ServerInterface-class.html
-docs/paramiko.SubsystemHandler-class.html
-docs/paramiko.Transport-class.html
-docs/paramiko.WarningPolicy-class.html
-docs/paramiko.agent-module.html
-docs/paramiko.agent-pysrc.html
-docs/paramiko.auth_handler-module.html
-docs/paramiko.auth_handler-pysrc.html
-docs/paramiko.ber-module.html
-docs/paramiko.ber-pysrc.html
-docs/paramiko.ber.BER-class.html
-docs/paramiko.ber.BERException-class.html
-docs/paramiko.buffered_pipe-module.html
-docs/paramiko.buffered_pipe-pysrc.html
-docs/paramiko.buffered_pipe.BufferedPipe-class.html
-docs/paramiko.buffered_pipe.PipeTimeout-class.html
-docs/paramiko.channel-module.html
-docs/paramiko.channel-pysrc.html
-docs/paramiko.channel.ChannelStderrFile-class.html
-docs/paramiko.client-module.html
-docs/paramiko.client-pysrc.html
-docs/paramiko.common-module.html
-docs/paramiko.common-pysrc.html
-docs/paramiko.compress-module.html
-docs/paramiko.compress-pysrc.html
-docs/paramiko.compress.ZlibCompressor-class.html
-docs/paramiko.compress.ZlibDecompressor-class.html
-docs/paramiko.config-module.html
-docs/paramiko.config-pysrc.html
-docs/paramiko.dsskey-module.html
-docs/paramiko.dsskey-pysrc.html
-docs/paramiko.file-module.html
-docs/paramiko.file-pysrc.html
-docs/paramiko.hostkeys-module.html
-docs/paramiko.hostkeys-pysrc.html
-docs/paramiko.hostkeys.HostKeyEntry-class.html
-docs/paramiko.kex_gex-module.html
-docs/paramiko.kex_gex-pysrc.html
-docs/paramiko.kex_gex.KexGex-class.html
-docs/paramiko.kex_group1-module.html
-docs/paramiko.kex_group1-pysrc.html
-docs/paramiko.kex_group1.KexGroup1-class.html
-docs/paramiko.logging22-module.html
-docs/paramiko.logging22-pysrc.html
-docs/paramiko.logging22.Formatter-class.html
-docs/paramiko.logging22.StreamHandler-class.html
-docs/paramiko.logging22.logger-class.html
-docs/paramiko.message-module.html
-docs/paramiko.message-pysrc.html
-docs/paramiko.packet-module.html
-docs/paramiko.packet-pysrc.html
-docs/paramiko.packet.NeedRekeyException-class.html
-docs/paramiko.pipe-module.html
-docs/paramiko.pipe-pysrc.html
-docs/paramiko.pipe.OrPipe-class.html
-docs/paramiko.pipe.PosixPipe-class.html
-docs/paramiko.pipe.WindowsPipe-class.html
-docs/paramiko.pkey-module.html
-docs/paramiko.pkey-pysrc.html
-docs/paramiko.primes-module.html
-docs/paramiko.primes-pysrc.html
-docs/paramiko.primes.ModulusPack-class.html
-docs/paramiko.resource-module.html
-docs/paramiko.resource-pysrc.html
-docs/paramiko.rsakey-module.html
-docs/paramiko.rsakey-pysrc.html
-docs/paramiko.server-module.html
-docs/paramiko.server-pysrc.html
-docs/paramiko.sftp-module.html
-docs/paramiko.sftp-pysrc.html
-docs/paramiko.sftp_attr-module.html
-docs/paramiko.sftp_attr-pysrc.html
-docs/paramiko.sftp_client-module.html
-docs/paramiko.sftp_client-pysrc.html
-docs/paramiko.sftp_file-module.html
-docs/paramiko.sftp_file-pysrc.html
-docs/paramiko.sftp_handle-module.html
-docs/paramiko.sftp_handle-pysrc.html
-docs/paramiko.sftp_server-module.html
-docs/paramiko.sftp_server-pysrc.html
-docs/paramiko.sftp_si-module.html
-docs/paramiko.sftp_si-pysrc.html
-docs/paramiko.ssh_exception-module.html
-docs/paramiko.ssh_exception-pysrc.html
-docs/paramiko.ssh_exception.PartialAuthentication-class.html
-docs/paramiko.transport-module.html
-docs/paramiko.transport-pysrc.html
-docs/paramiko.transport.ChannelMap-class.html
-docs/paramiko.util-module.html
-docs/paramiko.util-pysrc.html
-docs/paramiko.util.Counter-class.html
-docs/paramiko.util.PFilter-class.html
-docs/paramiko.util.enumerate-class.html
-docs/paramiko.win_pageant-module.html
-docs/paramiko.win_pageant-pysrc.html
-docs/paramiko.win_pageant.PageantConnection-class.html
-docs/redirect.html
-docs/since-index.html
-docs/toc-everything.html
-docs/toc-paramiko-module.html
-docs/toc-paramiko.agent-module.html
-docs/toc-paramiko.auth_handler-module.html
-docs/toc-paramiko.ber-module.html
-docs/toc-paramiko.buffered_pipe-module.html
-docs/toc-paramiko.channel-module.html
-docs/toc-paramiko.client-module.html
-docs/toc-paramiko.common-module.html
-docs/toc-paramiko.compress-module.html
-docs/toc-paramiko.config-module.html
-docs/toc-paramiko.dsskey-module.html
-docs/toc-paramiko.file-module.html
-docs/toc-paramiko.hostkeys-module.html
-docs/toc-paramiko.kex_gex-module.html
-docs/toc-paramiko.kex_group1-module.html
-docs/toc-paramiko.logging22-module.html
-docs/toc-paramiko.message-module.html
-docs/toc-paramiko.packet-module.html
-docs/toc-paramiko.pipe-module.html
-docs/toc-paramiko.pkey-module.html
-docs/toc-paramiko.primes-module.html
-docs/toc-paramiko.resource-module.html
-docs/toc-paramiko.rsakey-module.html
-docs/toc-paramiko.server-module.html
-docs/toc-paramiko.sftp-module.html
-docs/toc-paramiko.sftp_attr-module.html
-docs/toc-paramiko.sftp_client-module.html
-docs/toc-paramiko.sftp_file-module.html
-docs/toc-paramiko.sftp_handle-module.html
-docs/toc-paramiko.sftp_server-module.html
-docs/toc-paramiko.sftp_si-module.html
-docs/toc-paramiko.ssh_exception-module.html
-docs/toc-paramiko.transport-module.html
-docs/toc-paramiko.util-module.html
-docs/toc-paramiko.win_pageant-module.html
-docs/toc.html
-paramiko/__init__.py
-paramiko/agent.py
-paramiko/auth_handler.py
-paramiko/ber.py
-paramiko/buffered_pipe.py
-paramiko/channel.py
-paramiko/client.py
-paramiko/common.py
-paramiko/compress.py
-paramiko/config.py
-paramiko/dsskey.py
-paramiko/file.py
-paramiko/hostkeys.py
-paramiko/kex_gex.py
-paramiko/kex_group1.py
-paramiko/logging22.py
-paramiko/message.py
-paramiko/packet.py
-paramiko/pipe.py
-paramiko/pkey.py
-paramiko/primes.py
-paramiko/resource.py
-paramiko/rsakey.py
-paramiko/server.py
-paramiko/sftp.py
-paramiko/sftp_attr.py
-paramiko/sftp_client.py
-paramiko/sftp_file.py
-paramiko/sftp_handle.py
-paramiko/sftp_server.py
-paramiko/sftp_si.py
-paramiko/ssh_exception.py
-paramiko/transport.py
-paramiko/util.py
-paramiko/win_pageant.py
-paramiko.egg-info/PKG-INFO
-paramiko.egg-info/SOURCES.txt
-paramiko.egg-info/dependency_links.txt
-paramiko.egg-info/requires.txt
-paramiko.egg-info/top_level.txt
-tests/loop.py
-tests/stub_sftp.py
-tests/test_auth.py
-tests/test_buffered_pipe.py
-tests/test_client.py
-tests/test_dss.key
-tests/test_dss_password.key
-tests/test_file.py
-tests/test_hostkeys.py
-tests/test_kex.py
-tests/test_message.py
-tests/test_packetizer.py
-tests/test_pkey.py
-tests/test_rsa.key
-tests/test_rsa_password.key
-tests/test_sftp.py
-tests/test_sftp_big.py
-tests/test_transport.py
-tests/test_util.py \ No newline at end of file
diff --git a/paramiko.egg-info/dependency_links.txt b/paramiko.egg-info/dependency_links.txt
deleted file mode 100644
index 8b13789..0000000
--- a/paramiko.egg-info/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/paramiko.egg-info/requires.txt b/paramiko.egg-info/requires.txt
deleted file mode 100644
index e3bdf04..0000000
--- a/paramiko.egg-info/requires.txt
+++ /dev/null
@@ -1 +0,0 @@
-pycrypto >= 2.1 \ No newline at end of file
diff --git a/paramiko.egg-info/top_level.txt b/paramiko.egg-info/top_level.txt
deleted file mode 100644
index 8608c1b..0000000
--- a/paramiko.egg-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-paramiko
diff --git a/paramiko/__init__.py b/paramiko/__init__.py
index 96b5943..099314e 100644
--- a/paramiko/__init__.py
+++ b/paramiko/__init__.py
@@ -18,7 +18,7 @@
"""
I{Paramiko} (a combination of the esperanto words for "paranoid" and "friend")
-is a module for python 2.3 or greater that implements the SSH2 protocol for
+is a module for python 2.5 or greater that implements the SSH2 protocol for
secure (encrypted and authenticated) connections to remote machines. Unlike
SSL (aka TLS), the SSH2 protocol does not require hierarchical certificates
signed by a powerful central authority. You may know SSH2 as the protocol that
@@ -45,24 +45,17 @@ receive data over the encrypted session.
Paramiko is written entirely in python (no C or platform-dependent code) and is
released under the GNU Lesser General Public License (LGPL).
-Website: U{http://www.lag.net/paramiko/}
-
-@version: 1.7.7.1 (George)
-@author: Robey Pointer
-@contact: robeypointer@gmail.com
-@license: GNU Lesser General Public License (LGPL)
+Website: U{https://github.com/paramiko/paramiko/}
"""
import sys
-if sys.version_info < (2, 2):
- raise RuntimeError('You need python 2.2 for this module.')
+if sys.version_info < (2, 5):
+ raise RuntimeError('You need python 2.5+ for this module.')
-__author__ = "Robey Pointer <robeypointer@gmail.com>"
-__date__ = "21 May 2011"
-__version__ = "1.7.7.1 (George)"
-__version_info__ = (1, 7, 7, 1)
+__author__ = "Jeff Forcier <jeff@bitprophet.org>"
+__version__ = "1.10.1"
__license__ = "GNU Lesser General Public License (LGPL)"
@@ -72,7 +65,7 @@ from auth_handler import AuthHandler
from channel import Channel, ChannelFile
from ssh_exception import SSHException, PasswordRequiredException, \
BadAuthenticationType, ChannelException, BadHostKeyException, \
- AuthenticationException
+ AuthenticationException, ProxyCommandFailure
from server import ServerInterface, SubsystemHandler, InteractiveQuery
from rsakey import RSAKey
from dsskey import DSSKey
@@ -90,6 +83,7 @@ from agent import Agent, AgentKey
from pkey import PKey
from hostkeys import HostKeys
from config import SSHConfig
+from proxy import ProxyCommand
# fix module names for epydoc
for c in locals().values():
@@ -105,6 +99,8 @@ from common import AUTH_SUCCESSFUL, AUTH_PARTIALLY_SUCCESSFUL, AUTH_FAILED, \
from sftp import SFTP_OK, SFTP_EOF, SFTP_NO_SUCH_FILE, SFTP_PERMISSION_DENIED, SFTP_FAILURE, \
SFTP_BAD_MESSAGE, SFTP_NO_CONNECTION, SFTP_CONNECTION_LOST, SFTP_OP_UNSUPPORTED
+from common import io_sleep
+
__all__ = [ 'Transport',
'SSHClient',
'MissingHostKeyPolicy',
@@ -124,6 +120,8 @@ __all__ = [ 'Transport',
'BadAuthenticationType',
'ChannelException',
'BadHostKeyException',
+ 'ProxyCommand',
+ 'ProxyCommandFailure',
'SFTP',
'SFTPFile',
'SFTPHandle',
@@ -138,4 +136,5 @@ __all__ = [ 'Transport',
'AgentKey',
'HostKeys',
'SSHConfig',
- 'util' ]
+ 'util',
+ 'io_sleep' ]
diff --git a/paramiko/agent.py b/paramiko/agent.py
index 3bb9426..1dd3063 100644
--- a/paramiko/agent.py
+++ b/paramiko/agent.py
@@ -24,39 +24,308 @@ import os
import socket
import struct
import sys
+import threading
+import time
+import tempfile
+import stat
+from select import select
from paramiko.ssh_exception import SSHException
from paramiko.message import Message
from paramiko.pkey import PKey
-
+from paramiko.channel import Channel
+from paramiko.common import io_sleep
+from paramiko.util import retry_on_signal
SSH2_AGENTC_REQUEST_IDENTITIES, SSH2_AGENT_IDENTITIES_ANSWER, \
SSH2_AGENTC_SIGN_REQUEST, SSH2_AGENT_SIGN_RESPONSE = range(11, 15)
+class AgentSSH(object):
+ """
+ Client interface for using private keys from an SSH agent running on the
+ local machine. If an SSH agent is running, this class can be used to
+ connect to it and retreive L{PKey} objects which can be used when
+ attempting to authenticate to remote SSH servers.
+
+ Because the SSH agent protocol uses environment variables and unix-domain
+ sockets, this probably doesn't work on Windows. It does work on most
+ posix platforms though (Linux and MacOS X, for example).
+ """
+ def __init__(self):
+ self._conn = None
+ self._keys = ()
+
+ def get_keys(self):
+ """
+ Return the list of keys available through the SSH agent, if any. If
+ no SSH agent was running (or it couldn't be contacted), an empty list
+ will be returned.
+
+ @return: a list of keys available on the SSH agent
+ @rtype: tuple of L{AgentKey}
+ """
+ return self._keys
+
+ def _connect(self, conn):
+ self._conn = conn
+ ptype, result = self._send_message(chr(SSH2_AGENTC_REQUEST_IDENTITIES))
+ if ptype != SSH2_AGENT_IDENTITIES_ANSWER:
+ raise SSHException('could not get keys from ssh-agent')
+ keys = []
+ for i in range(result.get_int()):
+ keys.append(AgentKey(self, result.get_string()))
+ result.get_string()
+ self._keys = tuple(keys)
+
+ def _close(self):
+ #self._conn.close()
+ self._conn = None
+ self._keys = ()
+
+ def _send_message(self, msg):
+ msg = str(msg)
+ self._conn.send(struct.pack('>I', len(msg)) + msg)
+ l = self._read_all(4)
+ msg = Message(self._read_all(struct.unpack('>I', l)[0]))
+ return ord(msg.get_byte()), msg
+
+ def _read_all(self, wanted):
+ result = self._conn.recv(wanted)
+ while len(result) < wanted:
+ if len(result) == 0:
+ raise SSHException('lost ssh-agent')
+ extra = self._conn.recv(wanted - len(result))
+ if len(extra) == 0:
+ raise SSHException('lost ssh-agent')
+ result += extra
+ return result
+
+class AgentProxyThread(threading.Thread):
+ """ Class in charge of communication between two chan """
+ def __init__(self, agent):
+ threading.Thread.__init__(self, target=self.run)
+ self._agent = agent
+ self._exit = False
+
+ def run(self):
+ try:
+ (r,addr) = self.get_connection()
+ self.__inr = r
+ self.__addr = addr
+ self._agent.connect()
+ self._communicate()
+ except:
+ #XXX Not sure what to do here ... raise or pass ?
+ raise
+
+ def _communicate(self):
+ import fcntl
+ oldflags = fcntl.fcntl(self.__inr, fcntl.F_GETFL)
+ fcntl.fcntl(self.__inr, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)
+ while not self._exit:
+ events = select([self._agent._conn, self.__inr], [], [], 0.5)
+ for fd in events[0]:
+ if self._agent._conn == fd:
+ data = self._agent._conn.recv(512)
+ if len(data) != 0:
+ self.__inr.send(data)
+ else:
+ self._close()
+ break
+ elif self.__inr == fd:
+ data = self.__inr.recv(512)
+ if len(data) != 0:
+ self._agent._conn.send(data)
+ else:
+ self._close()
+ break
+ time.sleep(io_sleep)
+
+ def _close(self):
+ self._exit = True
+ self.__inr.close()
+ self._agent._conn.close()
+
+class AgentLocalProxy(AgentProxyThread):
+ """
+ Class to be used when wanting to ask a local SSH Agent being
+ asked from a remote fake agent (so use a unix socket for ex.)
+ """
+ def __init__(self, agent):
+ AgentProxyThread.__init__(self, agent)
+
+ def get_connection(self):
+ """ Return a pair of socket object and string address
+ May Block !
+ """
+ conn = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ try:
+ conn.bind(self._agent._get_filename())
+ conn.listen(1)
+ (r,addr) = conn.accept()
+ return (r, addr)
+ except:
+ raise
+ return None
-class Agent:
+class AgentRemoteProxy(AgentProxyThread):
+ """
+ Class to be used when wanting to ask a remote SSH Agent
+ """
+ def __init__(self, agent, chan):
+ AgentProxyThread.__init__(self, agent)
+ self.__chan = chan
+
+ def get_connection(self):
+ """
+ Class to be used when wanting to ask a local SSH Agent being
+ asked from a remote fake agent (so use a unix socket for ex.)
+ """
+ return (self.__chan, None)
+
+class AgentClientProxy(object):
+ """
+ Class proxying request as a client:
+ -> client ask for a request_forward_agent()
+ -> server creates a proxy and a fake SSH Agent
+ -> server ask for establishing a connection when needed,
+ calling the forward_agent_handler at client side.
+ -> the forward_agent_handler launch a thread for connecting
+ the remote fake agent and the local agent
+ -> Communication occurs ...
+ """
+ def __init__(self, chanRemote):
+ self._conn = None
+ self.__chanR = chanRemote
+ self.thread = AgentRemoteProxy(self, chanRemote)
+ self.thread.start()
+
+ def __del__(self):
+ self.close()
+
+ def connect(self):
+ """
+ Method automatically called by the run() method of the AgentProxyThread
+ """
+ if ('SSH_AUTH_SOCK' in os.environ) and (sys.platform != 'win32'):
+ conn = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ try:
+ retry_on_signal(lambda: conn.connect(os.environ['SSH_AUTH_SOCK']))
+ except:
+ # probably a dangling env var: the ssh agent is gone
+ return
+ elif sys.platform == 'win32':
+ import win_pageant
+ if win_pageant.can_talk_to_agent():
+ conn = win_pageant.PageantConnection()
+ else:
+ return
+ else:
+ # no agent support
+ return
+ self._conn = conn
+
+ def close(self):
+ """
+ Close the current connection and terminate the agent
+ Should be called manually
+ """
+ if hasattr(self, "thread"):
+ self.thread._exit = True
+ self.thread.join(1000)
+ if self._conn is not None:
+ self._conn.close()
+
+class AgentServerProxy(AgentSSH):
+ """
+ @param t : transport used for the Forward for SSH Agent communication
+
+ @raise SSHException: mostly if we lost the agent
+ """
+ def __init__(self, t):
+ AgentSSH.__init__(self)
+ self.__t = t
+ self._dir = tempfile.mkdtemp('sshproxy')
+ os.chmod(self._dir, stat.S_IRWXU)
+ self._file = self._dir + '/sshproxy.ssh'
+ self.thread = AgentLocalProxy(self)
+ self.thread.start()
+
+ def __del__(self):
+ self.close()
+
+ def connect(self):
+ conn_sock = self.__t.open_forward_agent_channel()
+ if conn_sock is None:
+ raise SSHException('lost ssh-agent')
+ conn_sock.set_name('auth-agent')
+ self._connect(conn_sock)
+
+ def close(self):
+ """
+ Terminate the agent, clean the files, close connections
+ Should be called manually
+ """
+ os.remove(self._file)
+ os.rmdir(self._dir)
+ self.thread._exit = True
+ self.thread.join(1000)
+ self._close()
+
+ def get_env(self):
+ """
+ Helper for the environnement under unix
+
+ @return: the SSH_AUTH_SOCK Environnement variables
+ @rtype: dict
+ """
+ env = {}
+ env['SSH_AUTH_SOCK'] = self._get_filename()
+ return env
+
+ def _get_filename(self):
+ return self._file
+
+class AgentRequestHandler(object):
+ def __init__(self, chanClient):
+ self._conn = None
+ self.__chanC = chanClient
+ chanClient.request_forward_agent(self._forward_agent_handler)
+ self.__clientProxys = []
+
+ def _forward_agent_handler(self, chanRemote):
+ self.__clientProxys.append(AgentClientProxy(chanRemote))
+
+ def __del__(self):
+ self.close()
+
+ def close(self):
+ for p in self.__clientProxys:
+ p.close()
+
+class Agent(AgentSSH):
"""
Client interface for using private keys from an SSH agent running on the
local machine. If an SSH agent is running, this class can be used to
connect to it and retreive L{PKey} objects which can be used when
attempting to authenticate to remote SSH servers.
-
+
Because the SSH agent protocol uses environment variables and unix-domain
sockets, this probably doesn't work on Windows. It does work on most
posix platforms though (Linux and MacOS X, for example).
"""
-
+
def __init__(self):
"""
Open a session with the local machine's SSH agent, if one is running.
If no agent is running, initialization will succeed, but L{get_keys}
will return an empty tuple.
-
+
@raise SSHException: if an SSH agent is found, but speaks an
incompatible protocol
"""
- self.conn = None
- self.keys = ()
+ AgentSSH.__init__(self)
+
if ('SSH_AUTH_SOCK' in os.environ) and (sys.platform != 'win32'):
conn = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
try:
@@ -64,64 +333,22 @@ class Agent:
except:
# probably a dangling env var: the ssh agent is gone
return
- self.conn = conn
elif sys.platform == 'win32':
import win_pageant
if win_pageant.can_talk_to_agent():
- self.conn = win_pageant.PageantConnection()
+ conn = win_pageant.PageantConnection()
else:
return
else:
# no agent support
return
-
- ptype, result = self._send_message(chr(SSH2_AGENTC_REQUEST_IDENTITIES))
- if ptype != SSH2_AGENT_IDENTITIES_ANSWER:
- raise SSHException('could not get keys from ssh-agent')
- keys = []
- for i in range(result.get_int()):
- keys.append(AgentKey(self, result.get_string()))
- result.get_string()
- self.keys = tuple(keys)
+ self._connect(conn)
def close(self):
"""
Close the SSH agent connection.
"""
- if self.conn is not None:
- self.conn.close()
- self.conn = None
- self.keys = ()
-
- def get_keys(self):
- """
- Return the list of keys available through the SSH agent, if any. If
- no SSH agent was running (or it couldn't be contacted), an empty list
- will be returned.
-
- @return: a list of keys available on the SSH agent
- @rtype: tuple of L{AgentKey}
- """
- return self.keys
-
- def _send_message(self, msg):
- msg = str(msg)
- self.conn.send(struct.pack('>I', len(msg)) + msg)
- l = self._read_all(4)
- msg = Message(self._read_all(struct.unpack('>I', l)[0]))
- return ord(msg.get_byte()), msg
-
- def _read_all(self, wanted):
- result = self.conn.recv(wanted)
- while len(result) < wanted:
- if len(result) == 0:
- raise SSHException('lost ssh-agent')
- extra = self.conn.recv(wanted - len(result))
- if len(extra) == 0:
- raise SSHException('lost ssh-agent')
- result += extra
- return result
-
+ self._close()
class AgentKey(PKey):
"""
@@ -129,7 +356,7 @@ class AgentKey(PKey):
authenticating to a remote server (signing). Most other key operations
work as expected.
"""
-
+
def __init__(self, agent, blob):
self.agent = agent
self.blob = blob
diff --git a/paramiko/channel.py b/paramiko/channel.py
index 6d895fe..0c603c6 100644
--- a/paramiko/channel.py
+++ b/paramiko/channel.py
@@ -122,7 +122,8 @@ class Channel (object):
out += '>'
return out
- def get_pty(self, term='vt100', width=80, height=24):
+ def get_pty(self, term='vt100', width=80, height=24, width_pixels=0,
+ height_pixels=0):
"""
Request a pseudo-terminal from the server. This is usually used right
after creating a client channel, to ask the server to provide some
@@ -136,6 +137,10 @@ class Channel (object):
@type width: int
@param height: height (in characters) of the terminal screen
@type height: int
+ @param width_pixels: width (in pixels) of the terminal screen
+ @type width_pixels: int
+ @param height_pixels: height (in pixels) of the terminal screen
+ @type height_pixels: int
@raise SSHException: if the request was rejected or the channel was
closed
@@ -150,8 +155,8 @@ class Channel (object):
m.add_string(term)
m.add_int(width)
m.add_int(height)
- # pixel height, width (usually useless)
- m.add_int(0).add_int(0)
+ m.add_int(width_pixels)
+ m.add_int(height_pixels)
m.add_string('')
self._event_pending()
self.transport._send_user_message(m)
@@ -239,7 +244,7 @@ class Channel (object):
self.transport._send_user_message(m)
self._wait_for_event()
- def resize_pty(self, width=80, height=24):
+ def resize_pty(self, width=80, height=24, width_pixels=0, height_pixels=0):
"""
Resize the pseudo-terminal. This can be used to change the width and
height of the terminal emulation created in a previous L{get_pty} call.
@@ -248,6 +253,10 @@ class Channel (object):
@type width: int
@param height: new height (in characters) of the terminal screen
@type height: int
+ @param width_pixels: new width (in pixels) of the terminal screen
+ @type width_pixels: int
+ @param height_pixels: new height (in pixels) of the terminal screen
+ @type height_pixels: int
@raise SSHException: if the request was rejected or the channel was
closed
@@ -258,13 +267,12 @@ class Channel (object):
m.add_byte(chr(MSG_CHANNEL_REQUEST))
m.add_int(self.remote_chanid)
m.add_string('window-change')
- m.add_boolean(True)
+ m.add_boolean(False)
m.add_int(width)
m.add_int(height)
- m.add_int(0).add_int(0)
- self._event_pending()
+ m.add_int(width_pixels)
+ m.add_int(height_pixels)
self.transport._send_user_message(m)
- self._wait_for_event()
def exit_status_ready(self):
"""
@@ -381,6 +389,31 @@ class Channel (object):
self.transport._set_x11_handler(handler)
return auth_cookie
+ def request_forward_agent(self, handler):
+ """
+ Request for a forward SSH Agent on this channel.
+ This is only valid for an ssh-agent from openssh !!!
+
+ @param handler: a required handler to use for incoming SSH Agent connections
+ @type handler: function
+
+ @return: if we are ok or not (at that time we always return ok)
+ @rtype: boolean
+
+ @raise: SSHException in case of channel problem.
+ """
+ if self.closed or self.eof_received or self.eof_sent or not self.active:
+ raise SSHException('Channel is not open')
+
+ m = Message()
+ m.add_byte(chr(MSG_CHANNEL_REQUEST))
+ m.add_int(self.remote_chanid)
+ m.add_string('auth-agent-req@openssh.com')
+ m.add_boolean(False)
+ self.transport._send_user_message(m)
+ self.transport._set_forward_agent_handler(handler)
+ return True
+
def get_transport(self):
"""
Return the L{Transport} associated with this channel.
@@ -1026,6 +1059,11 @@ class Channel (object):
else:
ok = server.check_channel_x11_request(self, single_connection,
auth_proto, auth_cookie, screen_number)
+ elif key == 'auth-agent-req@openssh.com':
+ if server is None:
+ ok = False
+ else:
+ ok = server.check_channel_forward_agent_request(self)
else:
self._log(DEBUG, 'Unhandled channel request "%s"' % key)
ok = False
diff --git a/paramiko/client.py b/paramiko/client.py
index 4a65477..5b71958 100644
--- a/paramiko/client.py
+++ b/paramiko/client.py
@@ -28,16 +28,16 @@ import warnings
from paramiko.agent import Agent
from paramiko.common import *
+from paramiko.config import SSH_PORT
from paramiko.dsskey import DSSKey
from paramiko.hostkeys import HostKeys
from paramiko.resource import ResourceManager
from paramiko.rsakey import RSAKey
from paramiko.ssh_exception import SSHException, BadHostKeyException
from paramiko.transport import Transport
+from paramiko.util import retry_on_signal
-SSH_PORT = 22
-
class MissingHostKeyPolicy (object):
"""
Interface for defining the policy that L{SSHClient} should use when the
@@ -82,7 +82,7 @@ class RejectPolicy (MissingHostKeyPolicy):
def missing_host_key(self, client, hostname, key):
client._log(DEBUG, 'Rejecting %s host key for %s: %s' %
(key.get_name(), hostname, hexlify(key.get_fingerprint())))
- raise SSHException('Unknown server %s' % hostname)
+ raise SSHException('Server %r not found in known_hosts' % hostname)
class WarningPolicy (MissingHostKeyPolicy):
@@ -228,7 +228,7 @@ class SSHClient (object):
def connect(self, hostname, port=SSH_PORT, username=None, password=None, pkey=None,
key_filename=None, timeout=None, allow_agent=True, look_for_keys=True,
- compress=False):
+ compress=False, sock=None):
"""
Connect to an SSH server and authenticate to it. The server's host key
is checked against the system host keys (see L{load_system_host_keys})
@@ -271,6 +271,9 @@ class SSHClient (object):
@type look_for_keys: bool
@param compress: set to True to turn on compression
@type compress: bool
+ @param sock: an open socket or socket-like object (such as a
+ L{Channel}) to use for communication to the target host
+ @type sock: socket
@raise BadHostKeyException: if the server's host key could not be
verified
@@ -279,21 +282,23 @@ class SSHClient (object):
establishing an SSH session
@raise socket.error: if a socket error occurred while connecting
"""
- for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- if socktype == socket.SOCK_STREAM:
- af = family
- addr = sockaddr
- break
- else:
- # some OS like AIX don't indicate SOCK_STREAM support, so just guess. :(
- af, _, _, _, addr = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
- sock = socket.socket(af, socket.SOCK_STREAM)
- if timeout is not None:
- try:
- sock.settimeout(timeout)
- except:
- pass
- sock.connect(addr)
+ if not sock:
+ for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
+ if socktype == socket.SOCK_STREAM:
+ af = family
+ addr = sockaddr
+ break
+ else:
+ # some OS like AIX don't indicate SOCK_STREAM support, so just guess. :(
+ af, _, _, _, addr = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
+ sock = socket.socket(af, socket.SOCK_STREAM)
+ if timeout is not None:
+ try:
+ sock.settimeout(timeout)
+ except:
+ pass
+ retry_on_signal(lambda: sock.connect(addr))
+
t = self._transport = Transport(sock)
t.use_compression(compress=compress)
if self._log_channel is not None:
@@ -344,7 +349,7 @@ class SSHClient (object):
self._agent.close()
self._agent = None
- def exec_command(self, command, bufsize=-1):
+ def exec_command(self, command, bufsize=-1, timeout=None, get_pty=False):
"""
Execute a command on the SSH server. A new L{Channel} is opened and
the requested command is executed. The command's input and output
@@ -355,19 +360,25 @@ class SSHClient (object):
@type command: str
@param bufsize: interpreted the same way as by the built-in C{file()} function in python
@type bufsize: int
+ @param timeout: set command's channel timeout. See L{Channel.settimeout}.settimeout
+ @type timeout: int
@return: the stdin, stdout, and stderr of the executing command
@rtype: tuple(L{ChannelFile}, L{ChannelFile}, L{ChannelFile})
@raise SSHException: if the server fails to execute the command
"""
chan = self._transport.open_session()
+ if(get_pty):
+ chan.get_pty()
+ chan.settimeout(timeout)
chan.exec_command(command)
stdin = chan.makefile('wb', bufsize)
stdout = chan.makefile('rb', bufsize)
stderr = chan.makefile_stderr('rb', bufsize)
return stdin, stdout, stderr
- def invoke_shell(self, term='vt100', width=80, height=24):
+ def invoke_shell(self, term='vt100', width=80, height=24, width_pixels=0,
+ height_pixels=0):
"""
Start an interactive shell session on the SSH server. A new L{Channel}
is opened and connected to a pseudo-terminal using the requested
@@ -379,13 +390,17 @@ class SSHClient (object):
@type width: int
@param height: the height (in characters) of the terminal window
@type height: int
+ @param width_pixels: the width (in pixels) of the terminal window
+ @type width_pixels: int
+ @param height_pixels: the height (in pixels) of the terminal window
+ @type height_pixels: int
@return: a new channel connected to the remote shell
@rtype: L{Channel}
@raise SSHException: if the server fails to invoke a shell
"""
chan = self._transport.open_session()
- chan.get_pty(term, width, height)
+ chan.get_pty(term, width, height, width_pixels, height_pixels)
chan.invoke_shell()
return chan
@@ -418,68 +433,86 @@ class SSHClient (object):
- Any "id_rsa" or "id_dsa" key discoverable in ~/.ssh/ (if allowed).
- Plain username/password auth, if a password was given.
- (The password might be needed to unlock a private key.)
+ (The password might be needed to unlock a private key, or for
+ two-factor authentication [for which it is required].)
"""
saved_exception = None
+ two_factor = False
+ allowed_types = []
if pkey is not None:
try:
self._log(DEBUG, 'Trying SSH key %s' % hexlify(pkey.get_fingerprint()))
- self._transport.auth_publickey(username, pkey)
- return
+ allowed_types = self._transport.auth_publickey(username, pkey)
+ two_factor = (allowed_types == ['password'])
+ if not two_factor:
+ return
except SSHException, e:
saved_exception = e
- for key_filename in key_filenames:
- for pkey_class in (RSAKey, DSSKey):
- try:
- key = pkey_class.from_private_key_file(key_filename, password)
- self._log(DEBUG, 'Trying key %s from %s' % (hexlify(key.get_fingerprint()), key_filename))
- self._transport.auth_publickey(username, key)
- return
- except SSHException, e:
- saved_exception = e
-
- if allow_agent:
+ if not two_factor:
+ for key_filename in key_filenames:
+ for pkey_class in (RSAKey, DSSKey):
+ try:
+ key = pkey_class.from_private_key_file(key_filename, password)
+ self._log(DEBUG, 'Trying key %s from %s' % (hexlify(key.get_fingerprint()), key_filename))
+ self._transport.auth_publickey(username, key)
+ two_factor = (allowed_types == ['password'])
+ if not two_factor:
+ return
+ break
+ except SSHException, e:
+ saved_exception = e
+
+ if not two_factor and allow_agent:
if self._agent == None:
self._agent = Agent()
for key in self._agent.get_keys():
try:
self._log(DEBUG, 'Trying SSH agent key %s' % hexlify(key.get_fingerprint()))
- self._transport.auth_publickey(username, key)
- return
+ # for 2-factor auth a successfully auth'd key will result in ['password']
+ allowed_types = self._transport.auth_publickey(username, key)
+ two_factor = (allowed_types == ['password'])
+ if not two_factor:
+ return
+ break
except SSHException, e:
saved_exception = e
- keyfiles = []
- rsa_key = os.path.expanduser('~/.ssh/id_rsa')
- dsa_key = os.path.expanduser('~/.ssh/id_dsa')
- if os.path.isfile(rsa_key):
- keyfiles.append((RSAKey, rsa_key))
- if os.path.isfile(dsa_key):
- keyfiles.append((DSSKey, dsa_key))
- # look in ~/ssh/ for windows users:
- rsa_key = os.path.expanduser('~/ssh/id_rsa')
- dsa_key = os.path.expanduser('~/ssh/id_dsa')
- if os.path.isfile(rsa_key):
- keyfiles.append((RSAKey, rsa_key))
- if os.path.isfile(dsa_key):
- keyfiles.append((DSSKey, dsa_key))
-
- if not look_for_keys:
+ if not two_factor:
keyfiles = []
-
- for pkey_class, filename in keyfiles:
- try:
- key = pkey_class.from_private_key_file(filename, password)
- self._log(DEBUG, 'Trying discovered key %s in %s' % (hexlify(key.get_fingerprint()), filename))
- self._transport.auth_publickey(username, key)
- return
- except SSHException, e:
- saved_exception = e
- except IOError, e:
- saved_exception = e
+ rsa_key = os.path.expanduser('~/.ssh/id_rsa')
+ dsa_key = os.path.expanduser('~/.ssh/id_dsa')
+ if os.path.isfile(rsa_key):
+ keyfiles.append((RSAKey, rsa_key))
+ if os.path.isfile(dsa_key):
+ keyfiles.append((DSSKey, dsa_key))
+ # look in ~/ssh/ for windows users:
+ rsa_key = os.path.expanduser('~/ssh/id_rsa')
+ dsa_key = os.path.expanduser('~/ssh/id_dsa')
+ if os.path.isfile(rsa_key):
+ keyfiles.append((RSAKey, rsa_key))
+ if os.path.isfile(dsa_key):
+ keyfiles.append((DSSKey, dsa_key))
+
+ if not look_for_keys:
+ keyfiles = []
+
+ for pkey_class, filename in keyfiles:
+ try:
+ key = pkey_class.from_private_key_file(filename, password)
+ self._log(DEBUG, 'Trying discovered key %s in %s' % (hexlify(key.get_fingerprint()), filename))
+ # for 2-factor auth a successfully auth'd key will result in ['password']
+ allowed_types = self._transport.auth_publickey(username, key)
+ two_factor = (allowed_types == ['password'])
+ if not two_factor:
+ return
+ break
+ except SSHException, e:
+ saved_exception = e
+ except IOError, e:
+ saved_exception = e
if password is not None:
try:
@@ -487,6 +520,8 @@ class SSHClient (object):
return
except SSHException, e:
saved_exception = e
+ elif two_factor:
+ raise SSHException('Two-factor authentication requires a password')
# if we got an auth-failed exception earlier, re-raise it
if saved_exception is not None:
diff --git a/paramiko/common.py b/paramiko/common.py
index 3323f0a..25d5457 100644
--- a/paramiko/common.py
+++ b/paramiko/common.py
@@ -124,3 +124,6 @@ INFO = logging.INFO
WARNING = logging.WARNING
ERROR = logging.ERROR
CRITICAL = logging.CRITICAL
+
+# Common IO/select/etc sleep period, in seconds
+io_sleep = 0.01
diff --git a/paramiko/config.py b/paramiko/config.py
index 2a2cbff..e41bae4 100644
--- a/paramiko/config.py
+++ b/paramiko/config.py
@@ -1,4 +1,5 @@
# Copyright (C) 2006-2007 Robey Pointer <robeypointer@gmail.com>
+# Copyright (C) 2012 Olle Lundberg <geek@nerd.sh>
#
# This file is part of paramiko.
#
@@ -21,6 +22,57 @@ L{SSHConfig}.
"""
import fnmatch
+import os
+import re
+import socket
+
+SSH_PORT = 22
+proxy_re = re.compile(r"^(proxycommand)\s*=*\s*(.*)", re.I)
+
+
+class LazyFqdn(object):
+ """
+ Returns the host's fqdn on request as string.
+ """
+
+ def __init__(self, config):
+ self.fqdn = None
+ self.config = config
+
+ def __str__(self):
+ if self.fqdn is None:
+ #
+ # If the SSH config contains AddressFamily, use that when
+ # determining the local host's FQDN. Using socket.getfqdn() from
+ # the standard library is the most general solution, but can
+ # result in noticeable delays on some platforms when IPv6 is
+ # misconfigured or not available, as it calls getaddrinfo with no
+ # address family specified, so both IPv4 and IPv6 are checked.
+ #
+
+ # Handle specific option
+ fqdn = None
+ address_family = self.config.get('addressfamily', 'any').lower()
+ if address_family != 'any':
+ family = socket.AF_INET if address_family == 'inet' \
+ else socket.AF_INET6
+ results = socket.getaddrinfo(host,
+ None,
+ family,
+ socket.SOCK_DGRAM,
+ socket.IPPROTO_IP,
+ socket.AI_CANONNAME)
+ for res in results:
+ af, socktype, proto, canonname, sa = res
+ if canonname and '.' in canonname:
+ fqdn = canonname
+ break
+ # Handle 'any' / unspecified
+ if fqdn is None:
+ fqdn = socket.getfqdn()
+ # Cache
+ self.fqdn = fqdn
+ return self.fqdn
class SSHConfig (object):
@@ -38,7 +90,7 @@ class SSHConfig (object):
"""
Create a new OpenSSH config object.
"""
- self._config = [ { 'host': '*' } ]
+ self._config = []
def parse(self, file_obj):
"""
@@ -47,14 +99,19 @@ class SSHConfig (object):
@param file_obj: a file-like object to read the config file from
@type file_obj: file
"""
- configs = [self._config[0]]
+ host = {"host": ['*'], "config": {}}
for line in file_obj:
line = line.rstrip('\n').lstrip()
if (line == '') or (line[0] == '#'):
continue
if '=' in line:
- key, value = line.split('=', 1)
- key = key.strip().lower()
+ # Ensure ProxyCommand gets properly split
+ if line.lower().strip().startswith('proxycommand'):
+ match = proxy_re.match(line)
+ key, value = match.group(1).lower(), match.group(2)
+ else:
+ key, value = line.split('=', 1)
+ key = key.strip().lower()
else:
# find first whitespace, and split there
i = 0
@@ -66,20 +123,20 @@ class SSHConfig (object):
value = line[i:].lstrip()
if key == 'host':
- del configs[:]
- # the value may be multiple hosts, space-delimited
- for host in value.split():
- # do we have a pre-existing host config to append to?
- matches = [c for c in self._config if c['host'] == host]
- if len(matches) > 0:
- configs.append(matches[0])
- else:
- config = { 'host': host }
- self._config.append(config)
- configs.append(config)
- else:
- for config in configs:
- config[key] = value
+ self._config.append(host)
+ value = value.split()
+ host = {key: value, 'config': {}}
+ #identityfile is a special case, since it is allowed to be
+ # specified multiple times and they should be tried in order
+ # of specification.
+ elif key == 'identityfile':
+ if key in host['config']:
+ host['config']['identityfile'].append(value)
+ else:
+ host['config']['identityfile'] = [value]
+ elif key not in host['config']:
+ host['config'].update({key: value})
+ self._config.append(host)
def lookup(self, hostname):
"""
@@ -94,17 +151,106 @@ class SSHConfig (object):
will win out.
The keys in the returned dict are all normalized to lowercase (look for
- C{"port"}, not C{"Port"}. No other processing is done to the keys or
- values.
+ C{"port"}, not C{"Port"}. The values are processed according to the
+ rules for substitution variable expansion in C{ssh_config}.
@param hostname: the hostname to lookup
@type hostname: str
"""
- matches = [x for x in self._config if fnmatch.fnmatch(hostname, x['host'])]
- # sort in order of shortest match (usually '*') to longest
- matches.sort(lambda x,y: cmp(len(x['host']), len(y['host'])))
+
+ matches = [config for config in self._config if
+ self._allowed(hostname, config['host'])]
+
ret = {}
- for m in matches:
- ret.update(m)
- del ret['host']
+ for match in matches:
+ for key, value in match['config'].iteritems():
+ if key not in ret:
+ # Create a copy of the original value,
+ # else it will reference the original list
+ # in self._config and update that value too
+ # when the extend() is being called.
+ ret[key] = value[:]
+ elif key == 'identityfile':
+ ret[key].extend(value)
+ ret = self._expand_variables(ret, hostname)
return ret
+
+ def _allowed(self, hostname, hosts):
+ match = False
+ for host in hosts:
+ if host.startswith('!') and fnmatch.fnmatch(hostname, host[1:]):
+ return False
+ elif fnmatch.fnmatch(hostname, host):
+ match = True
+ return match
+
+ def _expand_variables(self, config, hostname):
+ """
+ Return a dict of config options with expanded substitutions
+ for a given hostname.
+
+ Please refer to man C{ssh_config} for the parameters that
+ are replaced.
+
+ @param config: the config for the hostname
+ @type hostname: dict
+ @param hostname: the hostname that the config belongs to
+ @type hostname: str
+ """
+
+ if 'hostname' in config:
+ config['hostname'] = config['hostname'].replace('%h', hostname)
+ else:
+ config['hostname'] = hostname
+
+ if 'port' in config:
+ port = config['port']
+ else:
+ port = SSH_PORT
+
+ user = os.getenv('USER')
+ if 'user' in config:
+ remoteuser = config['user']
+ else:
+ remoteuser = user
+
+ host = socket.gethostname().split('.')[0]
+ fqdn = LazyFqdn(config)
+ homedir = os.path.expanduser('~')
+ replacements = {'controlpath':
+ [
+ ('%h', config['hostname']),
+ ('%l', fqdn),
+ ('%L', host),
+ ('%n', hostname),
+ ('%p', port),
+ ('%r', remoteuser),
+ ('%u', user)
+ ],
+ 'identityfile':
+ [
+ ('~', homedir),
+ ('%d', homedir),
+ ('%h', config['hostname']),
+ ('%l', fqdn),
+ ('%u', user),
+ ('%r', remoteuser)
+ ],
+ 'proxycommand':
+ [
+ ('%h', config['hostname']),
+ ('%p', port),
+ ('%r', remoteuser)
+ ]
+ }
+
+ for k in config:
+ if k in replacements:
+ for find, replace in replacements[k]:
+ if isinstance(config[k], list):
+ for item in range(len(config[k])):
+ config[k][item] = config[k][item].\
+ replace(find, str(replace))
+ else:
+ config[k] = config[k].replace(find, str(replace))
+ return config
diff --git a/paramiko/file.py b/paramiko/file.py
index d4aec8e..7e2904e 100644
--- a/paramiko/file.py
+++ b/paramiko/file.py
@@ -354,6 +354,10 @@ class BufferedFile (object):
"""
return self
+ @property
+ def closed(self):
+ return self._closed
+
### overrides...
diff --git a/paramiko/hostkeys.py b/paramiko/hostkeys.py
index 70ccf43..e739312 100644
--- a/paramiko/hostkeys.py
+++ b/paramiko/hostkeys.py
@@ -21,6 +21,7 @@ L{HostKeys}
"""
import base64
+import binascii
from Crypto.Hash import SHA, HMAC
import UserDict
@@ -29,6 +30,14 @@ from paramiko.dsskey import DSSKey
from paramiko.rsakey import RSAKey
+class InvalidHostKey(Exception):
+
+ def __init__(self, line, exc):
+ self.line = line
+ self.exc = exc
+ self.args = (line, exc)
+
+
class HostKeyEntry:
"""
Representation of a line in an OpenSSH-style "known hosts" file.
@@ -63,12 +72,15 @@ class HostKeyEntry:
# Decide what kind of key we're looking at and create an object
# to hold it accordingly.
- if keytype == 'ssh-rsa':
- key = RSAKey(data=base64.decodestring(key))
- elif keytype == 'ssh-dss':
- key = DSSKey(data=base64.decodestring(key))
- else:
- return None
+ try:
+ if keytype == 'ssh-rsa':
+ key = RSAKey(data=base64.decodestring(key))
+ elif keytype == 'ssh-dss':
+ key = DSSKey(data=base64.decodestring(key))
+ else:
+ return None
+ except binascii.Error, e:
+ raise InvalidHostKey(line, e)
return cls(names, key)
from_line = classmethod(from_line)
diff --git a/paramiko/message.py b/paramiko/message.py
index 366c43c..47acc34 100644
--- a/paramiko/message.py
+++ b/paramiko/message.py
@@ -110,7 +110,8 @@ class Message (object):
@rtype: string
"""
b = self.packet.read(n)
- if len(b) < n:
+ max_pad_size = 1<<20 # Limit padding to 1 MB
+ if len(b) < n and n < max_pad_size:
return b + '\x00' * (n - len(b))
return b
diff --git a/paramiko/packet.py b/paramiko/packet.py
index 391c5d5..38a6d4b 100644
--- a/paramiko/packet.py
+++ b/paramiko/packet.py
@@ -29,7 +29,7 @@ import time
from paramiko.common import *
from paramiko import util
-from paramiko.ssh_exception import SSHException
+from paramiko.ssh_exception import SSHException, ProxyCommandFailure
from paramiko.message import Message
@@ -57,8 +57,11 @@ class Packetizer (object):
# READ the secsh RFC's before raising these values. if anything,
# they should probably be lower.
- REKEY_PACKETS = pow(2, 30)
- REKEY_BYTES = pow(2, 30)
+ REKEY_PACKETS = pow(2, 29)
+ REKEY_BYTES = pow(2, 29)
+
+ REKEY_PACKETS_OVERFLOW_MAX = pow(2,29) # Allow receiving this many packets after a re-key request before terminating
+ REKEY_BYTES_OVERFLOW_MAX = pow(2,29) # Allow receiving this many bytes after a re-key request before terminating
def __init__(self, socket):
self.__socket = socket
@@ -74,6 +77,7 @@ class Packetizer (object):
self.__sent_packets = 0
self.__received_bytes = 0
self.__received_packets = 0
+ self.__received_bytes_overflow = 0
self.__received_packets_overflow = 0
# current inbound/outbound ciphering:
@@ -83,6 +87,7 @@ class Packetizer (object):
self.__mac_size_in = 0
self.__block_engine_out = None
self.__block_engine_in = None
+ self.__sdctr_out = False
self.__mac_engine_out = None
self.__mac_engine_in = None
self.__mac_key_out = ''
@@ -106,11 +111,12 @@ class Packetizer (object):
"""
self.__logger = log
- def set_outbound_cipher(self, block_engine, block_size, mac_engine, mac_size, mac_key):
+ def set_outbound_cipher(self, block_engine, block_size, mac_engine, mac_size, mac_key, sdctr=False):
"""
Switch outbound data cipher.
"""
self.__block_engine_out = block_engine
+ self.__sdctr_out = sdctr
self.__block_size_out = block_size
self.__mac_engine_out = mac_engine
self.__mac_size_out = mac_size
@@ -134,6 +140,7 @@ class Packetizer (object):
self.__mac_key_in = mac_key
self.__received_bytes = 0
self.__received_packets = 0
+ self.__received_bytes_overflow = 0
self.__received_packets_overflow = 0
# wait until the reset happens in both directions before clearing rekey flag
self.__init_count |= 2
@@ -236,23 +243,25 @@ class Packetizer (object):
def write_all(self, out):
self.__keepalive_last = time.time()
while len(out) > 0:
- got_timeout = False
+ retry_write = False
try:
n = self.__socket.send(out)
except socket.timeout:
- got_timeout = True
+ retry_write = True
except socket.error, e:
if (type(e.args) is tuple) and (len(e.args) > 0) and (e.args[0] == errno.EAGAIN):
- got_timeout = True
+ retry_write = True
elif (type(e.args) is tuple) and (len(e.args) > 0) and (e.args[0] == errno.EINTR):
# syscall interrupted; try again
- pass
+ retry_write = True
else:
n = -1
+ except ProxyCommandFailure:
+ raise # so it doesn't get swallowed by the below catchall
except Exception:
# could be: (32, 'Broken pipe')
n = -1
- if got_timeout:
+ if retry_write:
n = 0
if self.__closed:
n = -1
@@ -316,6 +325,7 @@ class Packetizer (object):
# only ask once for rekeying
self._log(DEBUG, 'Rekeying (hit %d packets, %d bytes sent)' %
(self.__sent_packets, self.__sent_bytes))
+ self.__received_bytes_overflow = 0
self.__received_packets_overflow = 0
self._trigger_rekey()
finally:
@@ -368,19 +378,23 @@ class Packetizer (object):
self.__sequence_number_in = (self.__sequence_number_in + 1) & 0xffffffffL
# check for rekey
- self.__received_bytes += packet_size + self.__mac_size_in + 4
+ raw_packet_size = packet_size + self.__mac_size_in + 4
+ self.__received_bytes += raw_packet_size
self.__received_packets += 1
if self.__need_rekey:
- # we've asked to rekey -- give them 20 packets to comply before
+ # we've asked to rekey -- give them some packets to comply before
# dropping the connection
+ self.__received_bytes_overflow += raw_packet_size
self.__received_packets_overflow += 1
- if self.__received_packets_overflow >= 20:
+ if (self.__received_packets_overflow >= self.REKEY_PACKETS_OVERFLOW_MAX) or \
+ (self.__received_bytes_overflow >= self.REKEY_BYTES_OVERFLOW_MAX):
raise SSHException('Remote transport is ignoring rekey requests')
elif (self.__received_packets >= self.REKEY_PACKETS) or \
(self.__received_bytes >= self.REKEY_BYTES):
# only ask once for rekeying
self._log(DEBUG, 'Rekeying (hit %d packets, %d bytes received)' %
(self.__received_packets, self.__received_bytes))
+ self.__received_bytes_overflow = 0
self.__received_packets_overflow = 0
self._trigger_rekey()
@@ -459,6 +473,12 @@ class Packetizer (object):
break
except socket.timeout:
pass
+ except EnvironmentError, e:
+ if ((type(e.args) is tuple) and (len(e.args) > 0) and
+ (e.args[0] == errno.EINTR)):
+ pass
+ else:
+ raise
if self.__closed:
raise EOFError()
now = time.time()
@@ -472,12 +492,12 @@ class Packetizer (object):
padding = 3 + bsize - ((len(payload) + 8) % bsize)
packet = struct.pack('>IB', len(payload) + padding + 1, padding)
packet += payload
- if self.__block_engine_out is not None:
- packet += rng.read(padding)
- else:
- # cute trick i caught openssh doing: if we're not encrypting,
+ if self.__sdctr_out or self.__block_engine_out is None:
+ # cute trick i caught openssh doing: if we're not encrypting or SDCTR mode (RFC4344),
# don't waste random bytes for the padding
packet += (chr(0) * padding)
+ else:
+ packet += rng.read(padding)
return packet
def _trigger_rekey(self):
diff --git a/paramiko/proxy.py b/paramiko/proxy.py
new file mode 100644
index 0000000..218b76e
--- /dev/null
+++ b/paramiko/proxy.py
@@ -0,0 +1,91 @@
+# Copyright (C) 2012 Yipit, Inc <coders@yipit.com>
+#
+# This file is part of paramiko.
+#
+# Paramiko is free software; you can redistribute it and/or modify it under the
+# terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; either version 2.1 of the License, or (at your option)
+# any later version.
+#
+# Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with Paramiko; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+"""
+L{ProxyCommand}.
+"""
+
+import os
+from shlex import split as shlsplit
+import signal
+from subprocess import Popen, PIPE
+
+from paramiko.ssh_exception import ProxyCommandFailure
+
+
+class ProxyCommand(object):
+ """
+ Wraps a subprocess running ProxyCommand-driven programs.
+
+ This class implements a the socket-like interface needed by the
+ L{Transport} and L{Packetizer} classes. Using this class instead of a
+ regular socket makes it possible to talk with a Popen'd command that will
+ proxy traffic between the client and a server hosted in another machine.
+ """
+ def __init__(self, command_line):
+ """
+ Create a new CommandProxy instance. The instance created by this
+ class can be passed as an argument to the L{Transport} class.
+
+ @param command_line: the command that should be executed and
+ used as the proxy.
+ @type command_line: str
+ """
+ self.cmd = shlsplit(command_line)
+ self.process = Popen(self.cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
+
+ def send(self, content):
+ """
+ Write the content received from the SSH client to the standard
+ input of the forked command.
+
+ @param content: string to be sent to the forked command
+ @type content: str
+ """
+ try:
+ self.process.stdin.write(content)
+ except IOError, e:
+ # There was a problem with the child process. It probably
+ # died and we can't proceed. The best option here is to
+ # raise an exception informing the user that the informed
+ # ProxyCommand is not working.
+ raise BadProxyCommand(' '.join(self.cmd), e.strerror)
+ return len(content)
+
+ def recv(self, size):
+ """
+ Read from the standard output of the forked program.
+
+ @param size: how many chars should be read
+ @type size: int
+
+ @return: the length of the read content
+ @rtype: int
+ """
+ try:
+ return os.read(self.process.stdout.fileno(), size)
+ except IOError, e:
+ raise BadProxyCommand(' '.join(self.cmd), e.strerror)
+
+ def close(self):
+ os.kill(self.process.pid, signal.SIGTERM)
+
+ def settimeout(self, timeout):
+ # Timeouts are meaningless for this implementation, but are part of the
+ # spec, so must be present.
+ pass
diff --git a/paramiko/server.py b/paramiko/server.py
index 6424b63..dac9bf1 100644
--- a/paramiko/server.py
+++ b/paramiko/server.py
@@ -93,6 +93,7 @@ class ServerInterface (object):
- L{check_channel_subsystem_request}
- L{check_channel_window_change_request}
- L{check_channel_x11_request}
+ - L{check_channel_forward_agent_request}
The C{chanid} parameter is a small number that uniquely identifies the
channel within a L{Transport}. A L{Channel} object is not created
@@ -492,7 +493,22 @@ class ServerInterface (object):
@rtype: bool
"""
return False
-
+
+ def check_channel_forward_agent_request(self, channel):
+ """
+ Determine if the client will be provided with an forward agent session.
+ If this method returns C{True}, the server will allow SSH Agent
+ forwarding.
+
+ The default implementation always returns C{False}.
+
+ @param channel: the L{Channel} the request arrived on
+ @type channel: L{Channel}
+ @return: C{True} if the AgentForward was loaded; C{False} if not
+ @rtype: bool
+ """
+ return False
+
def check_channel_direct_tcpip_request(self, chanid, origin, destination):
"""
Determine if a local port forwarding channel will be granted, and
diff --git a/paramiko/sftp_client.py b/paramiko/sftp_client.py
index 79a7761..17ea493 100644
--- a/paramiko/sftp_client.py
+++ b/paramiko/sftp_client.py
@@ -198,7 +198,7 @@ class SFTPClient (BaseSFTP):
Open a file on the remote server. The arguments are the same as for
python's built-in C{file} (aka C{open}). A file-like object is
returned, which closely mimics the behavior of a normal python file
- object.
+ object, including the ability to be used as a context manager.
The mode indicates how the file is to be opened: C{'r'} for reading,
C{'w'} for writing (truncating an existing file), C{'a'} for appending,
@@ -533,6 +533,56 @@ class SFTPClient (BaseSFTP):
"""
return self._cwd
+ def putfo(self, fl, remotepath, file_size=0, callback=None, confirm=True):
+ """
+ Copy the contents of an open file object (C{fl}) to the SFTP server as
+ C{remotepath}. Any exception raised by operations will be passed through.
+
+ The SFTP operations use pipelining for speed.
+
+ @param fl: opened file or file-like object to copy
+ @type localpath: object
+ @param remotepath: the destination path on the SFTP server
+ @type remotepath: str
+ @param file_size: optional size parameter passed to callback. If none is
+ specified, size defaults to 0
+ @type file_size: int
+ @param callback: optional callback function that accepts the bytes
+ transferred so far and the total bytes to be transferred
+ (since 1.7.4)
+ @type callback: function(int, int)
+ @param confirm: whether to do a stat() on the file afterwards to
+ confirm the file size (since 1.7.7)
+ @type confirm: bool
+
+ @return: an object containing attributes about the given file
+ (since 1.7.4)
+ @rtype: SFTPAttributes
+
+ @since: 1.4
+ """
+ fr = self.file(remotepath, 'wb')
+ fr.set_pipelined(True)
+ size = 0
+ try:
+ while True:
+ data = fl.read(32768)
+ fr.write(data)
+ size += len(data)
+ if callback is not None:
+ callback(size, file_size)
+ if len(data) == 0:
+ break
+ finally:
+ fr.close()
+ if confirm:
+ s = self.stat(remotepath)
+ if s.st_size != size:
+ raise IOError('size mismatch in put! %d != %d' % (s.st_size, size))
+ else:
+ s = SFTPAttributes()
+ return s
+
def put(self, localpath, remotepath, callback=None, confirm=True):
"""
Copy a local file (C{localpath}) to the SFTP server as C{remotepath}.
@@ -562,29 +612,46 @@ class SFTPClient (BaseSFTP):
file_size = os.stat(localpath).st_size
fl = file(localpath, 'rb')
try:
- fr = self.file(remotepath, 'wb')
- fr.set_pipelined(True)
- size = 0
- try:
- while True:
- data = fl.read(32768)
- if len(data) == 0:
- break
- fr.write(data)
- size += len(data)
- if callback is not None:
- callback(size, file_size)
- finally:
- fr.close()
+ return self.putfo(fl, remotepath, os.stat(localpath).st_size, callback, confirm)
finally:
fl.close()
- if confirm:
- s = self.stat(remotepath)
- if s.st_size != size:
- raise IOError('size mismatch in put! %d != %d' % (s.st_size, size))
- else:
- s = SFTPAttributes()
- return s
+
+ def getfo(self, remotepath, fl, callback=None):
+ """
+ Copy a remote file (C{remotepath}) from the SFTP server and write to
+ an open file or file-like object, C{fl}. Any exception raised by
+ operations will be passed through. This method is primarily provided
+ as a convenience.
+
+ @param remotepath: opened file or file-like object to copy to
+ @type remotepath: object
+ @param fl: the destination path on the local host or open file
+ object
+ @type localpath: str
+ @param callback: optional callback function that accepts the bytes
+ transferred so far and the total bytes to be transferred
+ (since 1.7.4)
+ @type callback: function(int, int)
+ @return: the number of bytes written to the opened file object
+
+ @since: 1.4
+ """
+ fr = self.file(remotepath, 'rb')
+ file_size = self.stat(remotepath).st_size
+ fr.prefetch()
+ try:
+ size = 0
+ while True:
+ data = fr.read(32768)
+ fl.write(data)
+ size += len(data)
+ if callback is not None:
+ callback(size, file_size)
+ if len(data) == 0:
+ break
+ finally:
+ fr.close()
+ return size
def get(self, remotepath, localpath, callback=None):
"""
@@ -603,25 +670,12 @@ class SFTPClient (BaseSFTP):
@since: 1.4
"""
- fr = self.file(remotepath, 'rb')
file_size = self.stat(remotepath).st_size
- fr.prefetch()
+ fl = file(localpath, 'wb')
try:
- fl = file(localpath, 'wb')
- try:
- size = 0
- while True:
- data = fr.read(32768)
- if len(data) == 0:
- break
- fl.write(data)
- size += len(data)
- if callback is not None:
- callback(size, file_size)
- finally:
- fl.close()
+ size = self.getfo(remotepath, fl, callback)
finally:
- fr.close()
+ fl.close()
s = os.stat(localpath)
if s.st_size != size:
raise IOError('size mismatch in get! %d != %d' % (s.st_size, size))
@@ -641,13 +695,13 @@ class SFTPClient (BaseSFTP):
msg = Message()
msg.add_int(self.request_number)
for item in arg:
- if type(item) is int:
+ if isinstance(item, int):
msg.add_int(item)
- elif type(item) is long:
+ elif isinstance(item, long):
msg.add_int64(item)
- elif type(item) is str:
+ elif isinstance(item, str):
msg.add_string(item)
- elif type(item) is SFTPAttributes:
+ elif isinstance(item, SFTPAttributes):
item._pack(msg)
else:
raise Exception('unknown type for %r type %r' % (item, type(item)))
diff --git a/paramiko/sftp_file.py b/paramiko/sftp_file.py
index 8c5c7ac..e056d70 100644
--- a/paramiko/sftp_file.py
+++ b/paramiko/sftp_file.py
@@ -21,6 +21,7 @@ L{SFTPFile}
"""
from binascii import hexlify
+from collections import deque
import socket
import threading
import time
@@ -34,6 +35,9 @@ from paramiko.sftp_attr import SFTPAttributes
class SFTPFile (BufferedFile):
"""
Proxy object for a file on the remote server, in client mode SFTP.
+
+ Instances of this class may be used as context managers in the same way
+ that built-in Python file objects are.
"""
# Some sftp servers will choke if you send read/write requests larger than
@@ -51,6 +55,7 @@ class SFTPFile (BufferedFile):
self._prefetch_data = {}
self._prefetch_reads = []
self._saved_exception = None
+ self._reqs = deque()
def __del__(self):
self._close(async=True)
@@ -160,12 +165,14 @@ class SFTPFile (BufferedFile):
def _write(self, data):
# may write less than requested if it would exceed max packet size
chunk = min(len(data), self.MAX_REQUEST_SIZE)
- req = self.sftp._async_request(type(None), CMD_WRITE, self.handle, long(self._realpos), str(data[:chunk]))
- if not self.pipelined or self.sftp.sock.recv_ready():
- t, msg = self.sftp._read_response(req)
- if t != CMD_STATUS:
- raise SFTPError('Expected status')
- # convert_status already called
+ self._reqs.append(self.sftp._async_request(type(None), CMD_WRITE, self.handle, long(self._realpos), str(data[:chunk])))
+ if not self.pipelined or (len(self._reqs) > 100 and self.sftp.sock.recv_ready()):
+ while len(self._reqs):
+ req = self._reqs.popleft()
+ t, msg = self.sftp._read_response(req)
+ if t != CMD_STATUS:
+ raise SFTPError('Expected status')
+ # convert_status already called
return chunk
def settimeout(self, timeout):
@@ -474,3 +481,9 @@ class SFTPFile (BufferedFile):
x = self._saved_exception
self._saved_exception = None
raise x
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, type, value, traceback):
+ self.close()
diff --git a/paramiko/ssh_exception.py b/paramiko/ssh_exception.py
index 68924d0..f2406dc 100644
--- a/paramiko/ssh_exception.py
+++ b/paramiko/ssh_exception.py
@@ -113,3 +113,20 @@ class BadHostKeyException (SSHException):
self.key = got_key
self.expected_key = expected_key
+
+class ProxyCommandFailure (SSHException):
+ """
+ The "ProxyCommand" found in the .ssh/config file returned an error.
+
+ @ivar command: The command line that is generating this exception.
+ @type command: str
+ @ivar error: The error captured from the proxy command output.
+ @type error: str
+ """
+ def __init__(self, command, error):
+ SSHException.__init__(self,
+ '"ProxyCommand (%s)" returned non-zero exit status: %s' % (
+ command, error
+ )
+ )
+ self.error = error
diff --git a/paramiko/transport.py b/paramiko/transport.py
index 30de295..fd6dab7 100644
--- a/paramiko/transport.py
+++ b/paramiko/transport.py
@@ -29,6 +29,7 @@ import threading
import time
import weakref
+import paramiko
from paramiko import util
from paramiko.auth_handler import AuthHandler
from paramiko.channel import Channel
@@ -43,7 +44,9 @@ from paramiko.primes import ModulusPack
from paramiko.rsakey import RSAKey
from paramiko.server import ServerInterface
from paramiko.sftp_client import SFTPClient
-from paramiko.ssh_exception import SSHException, BadAuthenticationType, ChannelException
+from paramiko.ssh_exception import (SSHException, BadAuthenticationType,
+ ChannelException, ProxyCommandFailure)
+from paramiko.util import retry_on_signal
from Crypto import Random
from Crypto.Cipher import Blowfish, AES, DES3, ARC4
@@ -194,7 +197,7 @@ class Transport (threading.Thread):
"""
_PROTO_ID = '2.0'
- _CLIENT_ID = 'paramiko_1.7.7.1'
+ _CLIENT_ID = 'paramiko_%s' % (paramiko.__version__)
_preferred_ciphers = ( 'aes128-ctr', 'aes256-ctr', 'aes128-cbc', 'blowfish-cbc', 'aes256-cbc', '3des-cbc',
'arcfour128', 'arcfour256' )
@@ -288,7 +291,7 @@ class Transport (threading.Thread):
addr = sockaddr
sock = socket.socket(af, socket.SOCK_STREAM)
try:
- sock.connect((hostname, port))
+ retry_on_signal(lambda: sock.connect((hostname, port)))
except socket.error, e:
reason = str(e)
else:
@@ -341,6 +344,7 @@ class Transport (threading.Thread):
self._channel_counter = 1
self.window_size = 65536
self.max_packet_size = 34816
+ self._forward_agent_handler = None
self._x11_handler = None
self._tcp_handler = None
@@ -673,6 +677,20 @@ class Transport (threading.Thread):
"""
return self.open_channel('x11', src_addr=src_addr)
+ def open_forward_agent_channel(self):
+ """
+ Request a new channel to the client, of type
+ C{"auth-agent@openssh.com"}.
+
+ This is just an alias for C{open_channel('auth-agent@openssh.com')}.
+ @return: a new L{Channel}
+ @rtype: L{Channel}
+
+ @raise SSHException: if the request is rejected or the session ends
+ prematurely
+ """
+ return self.open_channel('auth-agent@openssh.com')
+
def open_forwarded_tcpip_channel(self, (src_addr, src_port), (dest_addr, dest_port)):
"""
Request a new channel back to the client, of type C{"forwarded-tcpip"}.
@@ -1481,6 +1499,14 @@ class Transport (threading.Thread):
else:
return self._cipher_info[name]['class'].new(key, self._cipher_info[name]['mode'], iv)
+ def _set_forward_agent_handler(self, handler):
+ if handler is None:
+ def default_handler(channel):
+ self._queue_incoming_channel(channel)
+ self._forward_agent_handler = default_handler
+ else:
+ self._forward_agent_handler = handler
+
def _set_x11_handler(self, handler):
# only called if a channel has turned on x11 forwarding
if handler is None:
@@ -1505,6 +1531,18 @@ class Transport (threading.Thread):
# indefinitely, creating a GC cycle and not letting Transport ever be
# GC'd. it's a bug in Thread.)
+ # Hold reference to 'sys' so we can test sys.modules to detect
+ # interpreter shutdown.
+ self.sys = sys
+
+ # Required to prevent RNG errors when running inside many subprocess
+ # containers.
+ Random.atfork()
+
+ # Hold reference to 'sys' so we can test sys.modules to detect
+ # interpreter shutdown.
+ self.sys = sys
+
# active=True occurs before the thread is launched, to avoid a race
_active_threads.append(self)
if self.server_mode:
@@ -1512,94 +1550,102 @@ class Transport (threading.Thread):
else:
self._log(DEBUG, 'starting thread (client mode): %s' % hex(long(id(self)) & 0xffffffffL))
try:
- self.packetizer.write_all(self.local_version + '\r\n')
- self._check_banner()
- self._send_kex_init()
- self._expect_packet(MSG_KEXINIT)
-
- while self.active:
- if self.packetizer.need_rekey() and not self.in_kex:
- self._send_kex_init()
- try:
- ptype, m = self.packetizer.read_message()
- except NeedRekeyException:
- continue
- if ptype == MSG_IGNORE:
- continue
- elif ptype == MSG_DISCONNECT:
- self._parse_disconnect(m)
- self.active = False
- self.packetizer.close()
- break
- elif ptype == MSG_DEBUG:
- self._parse_debug(m)
- continue
- if len(self._expected_packet) > 0:
- if ptype not in self._expected_packet:
- raise SSHException('Expecting packet from %r, got %d' % (self._expected_packet, ptype))
- self._expected_packet = tuple()
- if (ptype >= 30) and (ptype <= 39):
- self.kex_engine.parse_next(ptype, m)
+ try:
+ self.packetizer.write_all(self.local_version + '\r\n')
+ self._check_banner()
+ self._send_kex_init()
+ self._expect_packet(MSG_KEXINIT)
+
+ while self.active:
+ if self.packetizer.need_rekey() and not self.in_kex:
+ self._send_kex_init()
+ try:
+ ptype, m = self.packetizer.read_message()
+ except NeedRekeyException:
continue
-
- if ptype in self._handler_table:
- self._handler_table[ptype](self, m)
- elif ptype in self._channel_handler_table:
- chanid = m.get_int()
- chan = self._channels.get(chanid)
- if chan is not None:
- self._channel_handler_table[ptype](chan, m)
- elif chanid in self.channels_seen:
- self._log(DEBUG, 'Ignoring message for dead channel %d' % chanid)
- else:
- self._log(ERROR, 'Channel request for unknown channel %d' % chanid)
+ if ptype == MSG_IGNORE:
+ continue
+ elif ptype == MSG_DISCONNECT:
+ self._parse_disconnect(m)
self.active = False
self.packetizer.close()
- elif (self.auth_handler is not None) and (ptype in self.auth_handler._handler_table):
- self.auth_handler._handler_table[ptype](self.auth_handler, m)
+ break
+ elif ptype == MSG_DEBUG:
+ self._parse_debug(m)
+ continue
+ if len(self._expected_packet) > 0:
+ if ptype not in self._expected_packet:
+ raise SSHException('Expecting packet from %r, got %d' % (self._expected_packet, ptype))
+ self._expected_packet = tuple()
+ if (ptype >= 30) and (ptype <= 39):
+ self.kex_engine.parse_next(ptype, m)
+ continue
+
+ if ptype in self._handler_table:
+ self._handler_table[ptype](self, m)
+ elif ptype in self._channel_handler_table:
+ chanid = m.get_int()
+ chan = self._channels.get(chanid)
+ if chan is not None:
+ self._channel_handler_table[ptype](chan, m)
+ elif chanid in self.channels_seen:
+ self._log(DEBUG, 'Ignoring message for dead channel %d' % chanid)
+ else:
+ self._log(ERROR, 'Channel request for unknown channel %d' % chanid)
+ self.active = False
+ self.packetizer.close()
+ elif (self.auth_handler is not None) and (ptype in self.auth_handler._handler_table):
+ self.auth_handler._handler_table[ptype](self.auth_handler, m)
+ else:
+ self._log(WARNING, 'Oops, unhandled type %d' % ptype)
+ msg = Message()
+ msg.add_byte(chr(MSG_UNIMPLEMENTED))
+ msg.add_int(m.seqno)
+ self._send_message(msg)
+ except SSHException, e:
+ self._log(ERROR, 'Exception: ' + str(e))
+ self._log(ERROR, util.tb_strings())
+ self.saved_exception = e
+ except EOFError, e:
+ self._log(DEBUG, 'EOF in transport thread')
+ #self._log(DEBUG, util.tb_strings())
+ self.saved_exception = e
+ except socket.error, e:
+ if type(e.args) is tuple:
+ emsg = '%s (%d)' % (e.args[1], e.args[0])
else:
- self._log(WARNING, 'Oops, unhandled type %d' % ptype)
- msg = Message()
- msg.add_byte(chr(MSG_UNIMPLEMENTED))
- msg.add_int(m.seqno)
- self._send_message(msg)
- except SSHException, e:
- self._log(ERROR, 'Exception: ' + str(e))
- self._log(ERROR, util.tb_strings())
- self.saved_exception = e
- except EOFError, e:
- self._log(DEBUG, 'EOF in transport thread')
- #self._log(DEBUG, util.tb_strings())
- self.saved_exception = e
- except socket.error, e:
- if type(e.args) is tuple:
- emsg = '%s (%d)' % (e.args[1], e.args[0])
- else:
- emsg = e.args
- self._log(ERROR, 'Socket exception: ' + emsg)
- self.saved_exception = e
- except Exception, e:
- self._log(ERROR, 'Unknown exception: ' + str(e))
- self._log(ERROR, util.tb_strings())
- self.saved_exception = e
- _active_threads.remove(self)
- for chan in self._channels.values():
- chan._unlink()
- if self.active:
- self.active = False
- self.packetizer.close()
- if self.completion_event != None:
- self.completion_event.set()
- if self.auth_handler is not None:
- self.auth_handler.abort()
- for event in self.channel_events.values():
- event.set()
- try:
- self.lock.acquire()
- self.server_accept_cv.notify()
- finally:
- self.lock.release()
- self.sock.close()
+ emsg = e.args
+ self._log(ERROR, 'Socket exception: ' + emsg)
+ self.saved_exception = e
+ except Exception, e:
+ self._log(ERROR, 'Unknown exception: ' + str(e))
+ self._log(ERROR, util.tb_strings())
+ self.saved_exception = e
+ _active_threads.remove(self)
+ for chan in self._channels.values():
+ chan._unlink()
+ if self.active:
+ self.active = False
+ self.packetizer.close()
+ if self.completion_event != None:
+ self.completion_event.set()
+ if self.auth_handler is not None:
+ self.auth_handler.abort()
+ for event in self.channel_events.values():
+ event.set()
+ try:
+ self.lock.acquire()
+ self.server_accept_cv.notify()
+ finally:
+ self.lock.release()
+ self.sock.close()
+ except:
+ # Don't raise spurious 'NoneType has no attribute X' errors when we
+ # wake up during interpreter shutdown. Or rather -- raise
+ # everything *if* sys.modules (used as a convenient sentinel)
+ # appears to still exist.
+ if self.sys.modules is not None:
+ raise
### protocol stages
@@ -1629,6 +1675,8 @@ class Transport (threading.Thread):
timeout = 2
try:
buf = self.packetizer.readline(timeout)
+ except ProxyCommandFailure:
+ raise
except Exception, x:
raise SSHException('Error reading SSH protocol banner' + str(x))
if buf[:4] == 'SSH-':
@@ -1837,7 +1885,8 @@ class Transport (threading.Thread):
mac_key = self._compute_key('F', mac_engine.digest_size)
else:
mac_key = self._compute_key('E', mac_engine.digest_size)
- self.packetizer.set_outbound_cipher(engine, block_size, mac_engine, mac_size, mac_key)
+ sdctr = self.local_cipher.endswith('-ctr')
+ self.packetizer.set_outbound_cipher(engine, block_size, mac_engine, mac_size, mac_key, sdctr)
compress_out = self._compression_info[self.local_compression][0]
if (compress_out is not None) and ((self.local_compression != 'zlib@openssh.com') or self.authenticated):
self._log(DEBUG, 'Switching on outbound compression ...')
@@ -1980,7 +2029,14 @@ class Transport (threading.Thread):
initial_window_size = m.get_int()
max_packet_size = m.get_int()
reject = False
- if (kind == 'x11') and (self._x11_handler is not None):
+ if (kind == 'auth-agent@openssh.com') and (self._forward_agent_handler is not None):
+ self._log(DEBUG, 'Incoming forward agent connection')
+ self.lock.acquire()
+ try:
+ my_chanid = self._next_channel()
+ finally:
+ self.lock.release()
+ elif (kind == 'x11') and (self._x11_handler is not None):
origin_addr = m.get_string()
origin_port = m.get_int()
self._log(DEBUG, 'Incoming x11 connection from %s:%d' % (origin_addr, origin_port))
@@ -2052,7 +2108,9 @@ class Transport (threading.Thread):
m.add_int(self.max_packet_size)
self._send_message(m)
self._log(INFO, 'Secsh channel %d (%s) opened.', my_chanid, kind)
- if kind == 'x11':
+ if kind == 'auth-agent@openssh.com':
+ self._forward_agent_handler(chan)
+ elif kind == 'x11':
self._x11_handler(chan, (origin_addr, origin_port))
elif kind == 'forwarded-tcpip':
chan.origin_addr = (origin_addr, origin_port)
diff --git a/paramiko/util.py b/paramiko/util.py
index 0d6a534..f4bfbec 100644
--- a/paramiko/util.py
+++ b/paramiko/util.py
@@ -24,6 +24,7 @@ from __future__ import generators
import array
from binascii import hexlify, unhexlify
+import errno
import sys
import struct
import traceback
@@ -270,6 +271,14 @@ def get_logger(name):
l.addFilter(_pfilter)
return l
+def retry_on_signal(function):
+ """Retries function until it doesn't raise an EINTR error"""
+ while True:
+ try:
+ return function()
+ except EnvironmentError, e:
+ if e.errno != errno.EINTR:
+ raise
class Counter (object):
"""Stateful counter for CTR mode crypto"""
diff --git a/paramiko/win_pageant.py b/paramiko/win_pageant.py
index 787032b..d77d58f 100644
--- a/paramiko/win_pageant.py
+++ b/paramiko/win_pageant.py
@@ -26,6 +26,8 @@ import struct
import tempfile
import mmap
import array
+import platform
+import ctypes.wintypes
# if you're on windows, you should have one of these, i guess?
# ctypes is part of standard library since Python 2.5
@@ -42,7 +44,6 @@ except ImportError:
except ImportError:
pass
-
_AGENT_COPYDATA_ID = 0x804e50ba
_AGENT_MAX_MSGLEN = 8192
# Note: The WM_COPYDATA value is pulled from win32con, as a workaround
@@ -74,6 +75,17 @@ def can_talk_to_agent():
return True
return False
+ULONG_PTR = ctypes.c_uint64 if platform.architecture()[0] == '64bit' else ctypes.c_uint32
+class COPYDATASTRUCT(ctypes.Structure):
+ """
+ ctypes implementation of
+ http://msdn.microsoft.com/en-us/library/windows/desktop/ms649010%28v=vs.85%29.aspx
+ """
+ _fields_ = [
+ ('num_data', ULONG_PTR),
+ ('data_size', ctypes.wintypes.DWORD),
+ ('data_loc', ctypes.c_void_p),
+ ]
def _query_pageant(msg):
hwnd = _get_pageant_window_object()
@@ -96,19 +108,17 @@ def _query_pageant(msg):
char_buffer = array.array("c", map_filename + '\0')
char_buffer_address, char_buffer_size = char_buffer.buffer_info()
# Create a string to use for the SendMessage function call
- cds = struct.pack("LLP", _AGENT_COPYDATA_ID, char_buffer_size, char_buffer_address)
+ cds = COPYDATASTRUCT(_AGENT_COPYDATA_ID, char_buffer_size, char_buffer_address)
if _has_win32all:
# win32gui.SendMessage should also allow the same pattern as
# ctypes, but let's keep it like this for now...
- response = win32gui.SendMessage(hwnd, win32con_WM_COPYDATA, len(cds), cds)
+ response = win32gui.SendMessage(hwnd, win32con_WM_COPYDATA, ctypes.sizeof(cds), ctypes.addressof(cds))
elif _has_ctypes:
- _buf = array.array('B', cds)
- _addr, _size = _buf.buffer_info()
- response = ctypes.windll.user32.SendMessageA(hwnd, win32con_WM_COPYDATA, _size, _addr)
+ response = ctypes.windll.user32.SendMessageA(hwnd, win32con_WM_COPYDATA, ctypes.sizeof(cds), ctypes.byref(cds))
else:
response = 0
-
+
if response > 0:
datalen = pymap.read(4)
retlen = struct.unpack('>I', datalen)[0]
@@ -131,10 +141,10 @@ class PageantConnection (object):
def __init__(self):
self._response = None
-
+
def send(self, data):
self._response = _query_pageant(data)
-
+
def recv(self, n):
if self._response is None:
return ''
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..75112a2
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,2 @@
+pycrypto
+tox
diff --git a/setup.cfg b/setup.cfg
deleted file mode 100644
index 861a9f5..0000000
--- a/setup.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[egg_info]
-tag_build =
-tag_date = 0
-tag_svn_revision = 0
-
diff --git a/setup.py b/setup.py
index 4537a8a..d6caccf 100644
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU Lesser General Public License
# along with Paramiko; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA.
longdesc = '''
@@ -25,6 +25,10 @@ are supported. SFTP client and server mode are both supported too.
Required packages:
pyCrypto
+
+To install the `in-development version
+<https://github.com/paramiko/paramiko/tarball/master#egg=paramiko-dev>`_, use
+`pip install paramiko==dev`.
'''
# if someday we want to *require* setuptools, uncomment this:
@@ -36,23 +40,23 @@ import sys
try:
from setuptools import setup
kw = {
- 'install_requires': 'pycrypto >= 2.1',
+ 'install_requires': 'pycrypto >= 2.1, != 2.4',
}
except ImportError:
from distutils.core import setup
kw = {}
if sys.platform == 'darwin':
- import setup_helper
- setup_helper.install_custom_make_tarball()
+ import setup_helper
+ setup_helper.install_custom_make_tarball()
setup(name = "paramiko",
- version = "1.7.7.1",
+ version = "1.10.1",
description = "SSH2 protocol library",
- author = "Robey Pointer",
- author_email = "robeypointer@gmail.com",
- url = "http://www.lag.net/paramiko/",
+ author = "Jeff Forcier",
+ author_email = "jeff@bitprophet.org",
+ url = "https://github.com/paramiko/paramiko/",
packages = [ 'paramiko' ],
license = 'LGPL',
platforms = 'Posix; MacOS X; Windows',
diff --git a/test.py b/test.py
index c0e9d15..f3dd4d2 100755
--- a/test.py
+++ b/test.py
@@ -28,6 +28,7 @@ import sys
import unittest
from optparse import OptionParser
import paramiko
+import threading
sys.path.append('tests')
@@ -141,7 +142,15 @@ def main():
if len(args) > 0:
filter = '|'.join(args)
suite = filter_suite_by_re(suite, filter)
- runner.run(suite)
+ result = runner.run(suite)
+ # Clean up stale threads from poorly cleaned-up tests.
+ # TODO: make that not a problem, jeez
+ for thread in threading.enumerate():
+ if thread is not threading.currentThread():
+ thread._Thread__stop()
+ # Exit correctly
+ if not result.wasSuccessful():
+ sys.exit(1)
if __name__ == '__main__':
diff --git a/tests/loop.py b/tests/loop.py
index bdc2f2d..ffa8e3c 100644
--- a/tests/loop.py
+++ b/tests/loop.py
@@ -62,12 +62,8 @@ class LoopSocket (object):
self.__cv.wait(self.__timeout)
if len(self.__in_buffer) == 0:
raise socket.timeout
- if n < self.__in_buffer:
- out = self.__in_buffer[:n]
- self.__in_buffer = self.__in_buffer[n:]
- else:
- out = self.__in_buffer
- self.__in_buffer = ''
+ out = self.__in_buffer[:n]
+ self.__in_buffer = self.__in_buffer[n:]
return out
finally:
self.__lock.release()
diff --git a/tests/test_buffered_pipe.py b/tests/test_buffered_pipe.py
index f285d05..b9d91f6 100644
--- a/tests/test_buffered_pipe.py
+++ b/tests/test_buffered_pipe.py
@@ -26,6 +26,8 @@ import unittest
from paramiko.buffered_pipe import BufferedPipe, PipeTimeout
from paramiko import pipe
+from util import ParamikoTest
+
def delay_thread(pipe):
pipe.feed('a')
@@ -39,11 +41,7 @@ def close_thread(pipe):
pipe.close()
-class BufferedPipeTest (unittest.TestCase):
-
- assertTrue = unittest.TestCase.failUnless # for Python 2.3 and below
- assertFalse = unittest.TestCase.failIf # for Python 2.3 and below
-
+class BufferedPipeTest(ParamikoTest):
def test_1_buffered_pipe(self):
p = BufferedPipe()
self.assert_(not p.read_ready())
diff --git a/tests/test_client.py b/tests/test_client.py
index 2f9b9a7..08ef1f9 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -68,11 +68,9 @@ class SSHClientTest (unittest.TestCase):
thread.start()
def tearDown(self):
- if hasattr(self, 'tc'):
- self.tc.close()
- self.ts.close()
- self.socks.close()
- self.sockl.close()
+ for attr in "tc ts socks sockl".split():
+ if hasattr(self, attr):
+ getattr(self, attr).close()
def _run(self):
self.socks, addr = self.sockl.accept()
diff --git a/tests/test_sftp.py b/tests/test_sftp.py
index 2eadabc..b1697ea 100755
--- a/tests/test_sftp.py
+++ b/tests/test_sftp.py
@@ -23,15 +23,15 @@ a real actual sftp server is contacted, and a new folder is created there to
do test file operations in (so no existing files will be harmed).
"""
+from __future__ import with_statement
+
from binascii import hexlify
-import logging
import os
-import random
-import struct
+import warnings
import sys
import threading
-import time
import unittest
+import StringIO
import paramiko
from stub_sftp import StubServer, StubSFTPServer
@@ -188,6 +188,17 @@ class SFTPTest (unittest.TestCase):
finally:
sftp.remove(FOLDER + '/duck.txt')
+ def test_3_sftp_file_can_be_used_as_context_manager(self):
+ """
+ verify that an opened file can be used as a context manager
+ """
+ try:
+ with sftp.open(FOLDER + '/duck.txt', 'w') as f:
+ f.write(ARTICLE)
+ self.assertEqual(sftp.stat(FOLDER + '/duck.txt').st_size, 1483)
+ finally:
+ sftp.remove(FOLDER + '/duck.txt')
+
def test_4_append(self):
"""
verify that a file can be opened for append, and tell() still works.
@@ -214,7 +225,7 @@ class SFTPTest (unittest.TestCase):
"""
f = sftp.open(FOLDER + '/first.txt', 'w')
try:
- f.write('content!\n');
+ f.write('content!\n')
f.close()
sftp.rename(FOLDER + '/first.txt', FOLDER + '/second.txt')
try:
@@ -425,7 +436,7 @@ class SFTPTest (unittest.TestCase):
self.assertEqual(sftp.readlink(FOLDER + '/link.txt'), 'original.txt')
f = sftp.open(FOLDER + '/link.txt', 'r')
- self.assertEqual(f.readlines(), [ 'original\n' ])
+ self.assertEqual(f.readlines(), ['original\n'])
f.close()
cwd = sftp.normalize('.')
@@ -553,7 +564,6 @@ class SFTPTest (unittest.TestCase):
"""
verify that get/put work.
"""
- import os, warnings
warnings.filterwarnings('ignore', 'tempnam.*')
localname = os.tempnam()
@@ -618,7 +628,7 @@ class SFTPTest (unittest.TestCase):
try:
f = sftp.open(FOLDER + '/unusual.txt', 'wx')
self.fail('expected exception')
- except IOError, x:
+ except IOError:
pass
finally:
sftp.unlink(FOLDER + '/unusual.txt')
@@ -658,12 +668,12 @@ class SFTPTest (unittest.TestCase):
f.close()
try:
f = sftp.open(FOLDER + '/zero', 'r')
- data = f.readv([(0, 12)])
+ f.readv([(0, 12)])
f.close()
f = sftp.open(FOLDER + '/zero', 'r')
f.prefetch()
- data = f.read(100)
+ f.read(100)
f.close()
finally:
sftp.unlink(FOLDER + '/zero')
@@ -672,7 +682,6 @@ class SFTPTest (unittest.TestCase):
"""
verify that get/put work without confirmation.
"""
- import os, warnings
warnings.filterwarnings('ignore', 'tempnam.*')
localname = os.tempnam()
@@ -684,7 +693,7 @@ class SFTPTest (unittest.TestCase):
def progress_callback(x, y):
saved_progress.append((x, y))
res = sftp.put(localname, FOLDER + '/bunny.txt', progress_callback, False)
-
+
self.assertEquals(SFTPAttributes().attr, res.attr)
f = sftp.open(FOLDER + '/bunny.txt', 'r')
@@ -717,3 +726,15 @@ class SFTPTest (unittest.TestCase):
finally:
sftp.remove(FOLDER + '/append.txt')
+ def test_putfo_empty_file(self):
+ """
+ Send an empty file and confirm it is sent.
+ """
+ target = FOLDER + '/empty file.txt'
+ stream = StringIO.StringIO()
+ try:
+ attrs = sftp.putfo(stream, target)
+ # the returned attributes should not be null
+ self.assertNotEqual(attrs, None)
+ finally:
+ sftp.remove(target)
diff --git a/tests/test_transport.py b/tests/test_transport.py
index cea4a1d..1c57d18 100644
--- a/tests/test_transport.py
+++ b/tests/test_transport.py
@@ -36,6 +36,7 @@ from paramiko import OPEN_SUCCEEDED, OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
from paramiko.common import MSG_KEXINIT, MSG_CHANNEL_WINDOW_ADJUST
from paramiko.message import Message
from loop import LoopSocket
+from util import ParamikoTest
LONG_BANNER = """\
@@ -105,11 +106,7 @@ class NullServer (ServerInterface):
return OPEN_SUCCEEDED
-class TransportTest (unittest.TestCase):
-
- assertTrue = unittest.TestCase.failUnless # for Python 2.3 and below
- assertFalse = unittest.TestCase.failIf # for Python 2.3 and below
-
+class TransportTest(ParamikoTest):
def setUp(self):
self.socks = LoopSocket()
self.sockc = LoopSocket()
diff --git a/tests/test_util.py b/tests/test_util.py
index 256c3d7..efda9b2 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -22,11 +22,14 @@ Some unit tests for utility functions.
from binascii import hexlify
import cStringIO
+import errno
import os
import unittest
from Crypto.Hash import SHA
import paramiko.util
+from paramiko.util import lookup_ssh_host_config as host_config
+from util import ParamikoTest
test_config_file = """\
Host *
@@ -57,17 +60,7 @@ BGQ3GQ/Fc7SX6gkpXkwcZryoi4kNFhHu5LvHcZPdxXV1D+uTMfGS1eyd2Yz/DoNWXNAl8TI0cAsW\
from paramiko import *
-class UtilTest (unittest.TestCase):
-
- assertTrue = unittest.TestCase.failUnless # for Python 2.3 and below
- assertFalse = unittest.TestCase.failIf # for Python 2.3 and below
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
+class UtilTest(ParamikoTest):
def test_1_import(self):
"""
verify that all the classes can be imported from paramiko.
@@ -111,21 +104,37 @@ class UtilTest (unittest.TestCase):
f = cStringIO.StringIO(test_config_file)
config = paramiko.util.parse_ssh_config(f)
self.assertEquals(config._config,
- [ {'identityfile': '~/.ssh/id_rsa', 'host': '*', 'user': 'robey',
- 'crazy': 'something dumb '},
- {'host': '*.example.com', 'user': 'bjork', 'port': '3333'},
- {'host': 'spoo.example.com', 'crazy': 'something else'}])
+ [{'host': ['*'], 'config': {}}, {'host': ['*'], 'config': {'identityfile': ['~/.ssh/id_rsa'], 'user': 'robey'}},
+ {'host': ['*.example.com'], 'config': {'user': 'bjork', 'port': '3333'}},
+ {'host': ['*'], 'config': {'crazy': 'something dumb '}},
+ {'host': ['spoo.example.com'], 'config': {'crazy': 'something else'}}])
def test_3_host_config(self):
global test_config_file
f = cStringIO.StringIO(test_config_file)
config = paramiko.util.parse_ssh_config(f)
- c = paramiko.util.lookup_ssh_host_config('irc.danger.com', config)
- self.assertEquals(c, {'identityfile': '~/.ssh/id_rsa', 'user': 'robey', 'crazy': 'something dumb '})
- c = paramiko.util.lookup_ssh_host_config('irc.example.com', config)
- self.assertEquals(c, {'identityfile': '~/.ssh/id_rsa', 'user': 'bjork', 'crazy': 'something dumb ', 'port': '3333'})
- c = paramiko.util.lookup_ssh_host_config('spoo.example.com', config)
- self.assertEquals(c, {'identityfile': '~/.ssh/id_rsa', 'user': 'bjork', 'crazy': 'something else', 'port': '3333'})
+
+ for host, values in {
+ 'irc.danger.com': {'crazy': 'something dumb ',
+ 'hostname': 'irc.danger.com',
+ 'user': 'robey'},
+ 'irc.example.com': {'crazy': 'something dumb ',
+ 'hostname': 'irc.example.com',
+ 'user': 'robey',
+ 'port': '3333'},
+ 'spoo.example.com': {'crazy': 'something dumb ',
+ 'hostname': 'spoo.example.com',
+ 'user': 'robey',
+ 'port': '3333'}
+ }.items():
+ values = dict(values,
+ hostname=host,
+ identityfile=[os.path.expanduser("~/.ssh/id_rsa")]
+ )
+ self.assertEquals(
+ paramiko.util.lookup_ssh_host_config(host, config),
+ values
+ )
def test_4_generate_key_bytes(self):
x = paramiko.util.generate_key_bytes(SHA, 'ABCDEFGH', 'This is my secret passphrase.', 64)
@@ -151,4 +160,172 @@ class UtilTest (unittest.TestCase):
# just verify that we can pull out 32 bytes and not get an exception.
x = rng.read(32)
self.assertEquals(len(x), 32)
-
+
+ def test_7_host_config_expose_issue_33(self):
+ test_config_file = """
+Host www13.*
+ Port 22
+
+Host *.example.com
+ Port 2222
+
+Host *
+ Port 3333
+ """
+ f = cStringIO.StringIO(test_config_file)
+ config = paramiko.util.parse_ssh_config(f)
+ host = 'www13.example.com'
+ self.assertEquals(
+ paramiko.util.lookup_ssh_host_config(host, config),
+ {'hostname': host, 'port': '22'}
+ )
+
+ def test_8_eintr_retry(self):
+ self.assertEquals('foo', paramiko.util.retry_on_signal(lambda: 'foo'))
+
+ # Variables that are set by raises_intr
+ intr_errors_remaining = [3]
+ call_count = [0]
+ def raises_intr():
+ call_count[0] += 1
+ if intr_errors_remaining[0] > 0:
+ intr_errors_remaining[0] -= 1
+ raise IOError(errno.EINTR, 'file', 'interrupted system call')
+ self.assertTrue(paramiko.util.retry_on_signal(raises_intr) is None)
+ self.assertEquals(0, intr_errors_remaining[0])
+ self.assertEquals(4, call_count[0])
+
+ def raises_ioerror_not_eintr():
+ raise IOError(errno.ENOENT, 'file', 'file not found')
+ self.assertRaises(IOError,
+ lambda: paramiko.util.retry_on_signal(raises_ioerror_not_eintr))
+
+ def raises_other_exception():
+ raise AssertionError('foo')
+ self.assertRaises(AssertionError,
+ lambda: paramiko.util.retry_on_signal(raises_other_exception))
+
+ def test_9_proxycommand_config_equals_parsing(self):
+ """
+ ProxyCommand should not split on equals signs within the value.
+ """
+ conf = """
+Host space-delimited
+ ProxyCommand foo bar=biz baz
+
+Host equals-delimited
+ ProxyCommand=foo bar=biz baz
+"""
+ f = cStringIO.StringIO(conf)
+ config = paramiko.util.parse_ssh_config(f)
+ for host in ('space-delimited', 'equals-delimited'):
+ self.assertEquals(
+ host_config(host, config)['proxycommand'],
+ 'foo bar=biz baz'
+ )
+
+ def test_10_proxycommand_interpolation(self):
+ """
+ ProxyCommand should perform interpolation on the value
+ """
+ config = paramiko.util.parse_ssh_config(cStringIO.StringIO("""
+Host specific
+ Port 37
+ ProxyCommand host %h port %p lol
+
+Host portonly
+ Port 155
+
+Host *
+ Port 25
+ ProxyCommand host %h port %p
+"""))
+ for host, val in (
+ ('foo.com', "host foo.com port 25"),
+ ('specific', "host specific port 37 lol"),
+ ('portonly', "host portonly port 155"),
+ ):
+ self.assertEquals(
+ host_config(host, config)['proxycommand'],
+ val
+ )
+
+ def test_11_host_config_test_negation(self):
+ test_config_file = """
+Host www13.* !*.example.com
+ Port 22
+
+Host *.example.com !www13.*
+ Port 2222
+
+Host www13.*
+ Port 8080
+
+Host *
+ Port 3333
+ """
+ f = cStringIO.StringIO(test_config_file)
+ config = paramiko.util.parse_ssh_config(f)
+ host = 'www13.example.com'
+ self.assertEquals(
+ paramiko.util.lookup_ssh_host_config(host, config),
+ {'hostname': host, 'port': '8080'}
+ )
+
+ def test_12_host_config_test_proxycommand(self):
+ test_config_file = """
+Host proxy-with-equal-divisor-and-space
+ProxyCommand = foo=bar
+
+Host proxy-with-equal-divisor-and-no-space
+ProxyCommand=foo=bar
+
+Host proxy-without-equal-divisor
+ProxyCommand foo=bar:%h-%p
+ """
+ for host, values in {
+ 'proxy-with-equal-divisor-and-space' :{'hostname': 'proxy-with-equal-divisor-and-space',
+ 'proxycommand': 'foo=bar'},
+ 'proxy-with-equal-divisor-and-no-space':{'hostname': 'proxy-with-equal-divisor-and-no-space',
+ 'proxycommand': 'foo=bar'},
+ 'proxy-without-equal-divisor' :{'hostname': 'proxy-without-equal-divisor',
+ 'proxycommand':
+ 'foo=bar:proxy-without-equal-divisor-22'}
+ }.items():
+
+ f = cStringIO.StringIO(test_config_file)
+ config = paramiko.util.parse_ssh_config(f)
+ self.assertEquals(
+ paramiko.util.lookup_ssh_host_config(host, config),
+ values
+ )
+
+ def test_11_host_config_test_identityfile(self):
+ test_config_file = """
+
+IdentityFile id_dsa0
+
+Host *
+IdentityFile id_dsa1
+
+Host dsa2
+IdentityFile id_dsa2
+
+Host dsa2*
+IdentityFile id_dsa22
+ """
+ for host, values in {
+ 'foo' :{'hostname': 'foo',
+ 'identityfile': ['id_dsa0', 'id_dsa1']},
+ 'dsa2' :{'hostname': 'dsa2',
+ 'identityfile': ['id_dsa0', 'id_dsa1', 'id_dsa2', 'id_dsa22']},
+ 'dsa22' :{'hostname': 'dsa22',
+ 'identityfile': ['id_dsa0', 'id_dsa1', 'id_dsa22']}
+ }.items():
+
+ f = cStringIO.StringIO(test_config_file)
+ config = paramiko.util.parse_ssh_config(f)
+ self.assertEquals(
+ paramiko.util.lookup_ssh_host_config(host, config),
+ values
+ )
diff --git a/tests/util.py b/tests/util.py
new file mode 100644
index 0000000..2e0be08
--- /dev/null
+++ b/tests/util.py
@@ -0,0 +1,10 @@
+import unittest
+
+
+class ParamikoTest(unittest.TestCase):
+ # for Python 2.3 and below
+ if not hasattr(unittest.TestCase, 'assertTrue'):
+ assertTrue = unittest.TestCase.failUnless
+ if not hasattr(unittest.TestCase, 'assertFalse'):
+ assertFalse = unittest.TestCase.failIf
+
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..6cb8001
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,6 @@
+[tox]
+envlist = py25,py26,py27
+
+[testenv]
+commands = pip install --use-mirrors -q -r requirements.txt
+ python test.py